문제
이것은 아마도 내가 알아낼 수없는 간단한 대답이있을 것입니다.
어쨌든, 나는 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;
상단에.
제휴하지 않습니다 StackOverflow