문제

이것은 아마도 내가 알아낼 수없는 간단한 대답이있을 것입니다.

어쨌든, 나는 PHP 문서가 있고 그 안에는 정의합니다. <?php $pathprefix = '../'; ?>

나중에 문서에서 나는 an을 사용한다 <?php require([somefile.php]); ?> 그리고 somefile.php 안에는 라인이 있습니다. <?php echo($pathprefix); ?> 그러나 '../'나는 $ pathprefix에 할당되지 않았다. 변수가 결코 인스턴스화되지 않은 것처럼 행동합니다. 내 문제는 무엇입니까?

도움이 되었습니까?

해결책

범위를 결정하려면 소스 코드를 실제로 볼 필요가 있습니다. 여기에 제공 한 내용으로 두 가지 옵션이 있습니다.

$ Globals로 설정되었습니다

file1.php :

$GLOBALS['pathprefix']= '../';

file2.php :

require('file1.php');
print_r($GLOBALS['pathprefix']);

수업을 사용하십시오

file1.php :

class Settings {
 const PATH_PREFIX= '../';
}

file2.php :

require('file1.php');
print_r(Settings::PATH_PREFIX);

PHP의 범위를 이해하십시오

http://www.php.net/manual/en/language.variables.scope.php

행운을 빕니다.

다른 팁

변수는 "somefile.php"의 범위를 벗어났습니다. 변수 글로벌 (IE)을 선언 할 수 있습니다 global $pathprefix = '../'. 그런 다음 somefile.php에 넣습니다 global $pathprefix; 상단에.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top