这应该有一个简单的答案,我无法弄清楚。
无论如何,我有一个php文档,在其中我定义了<?php $pathprefix = '../'; ?>
稍后在文档中我使用<?php require([somefile.php]); ?>
并在somefile.php中,我有一行说<?php echo($pathprefix); ?>
但是我分配给$ pathprefix的'../'永远不会出现。它的作用就像变量从未实例化过。我的问题是什么?
答案 0 :(得分:1)
变量超出了“somefile.php”的范围。您可以将变量声明为global,即global $pathprefix = '../'
。然后在somefile.php中将global $pathprefix;
放在顶部。
答案 1 :(得分:1)
确实需要查看源代码以确定范围。根据您提供的内容,这里有两个选项:
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);