我在所有的php文件中使用相同的常量。我不想在我的所有文件中分配此变量的值。所以,我想创建一个“parameters.php”文件并在那里进行分配。然后在所有其他文件中include
使用“parameters.php”并使用“parameters.php”中定义的变量。
这是想法,但它不起作用。我还尝试制作变量global
。它也行不通。有办法做我想要的吗?或者可能有一些替代方法?
答案 0 :(得分:4)
请参阅PHP define:http://php.net/manual/en/function.define.php
define("CONSTANT_NAME", "Constant value");
使用CONSTANT_NAME
访问代码中的其他位置。如果值是常量,那么您最好使用define
函数而不仅仅是变量 - 这将确保您不会意外地覆盖变量常量。
答案 1 :(得分:4)
我猜你正试图在函数体中使用全局变量。如果在函数中没有全局声明,函数内无法访问以这种方式定义的变量。
例如:
$foo = 'bar';
function printFoo() {
echo "Foo is '$foo'"; //prints: Foo is '', gives warning about undefined variable
}
有两种选择:
function printFoo() {
global $foo;
echo "Foo is '$foo'"; //prints: Foo is 'bar'
}
或者:
function printFoo() {
echo "Foo is '" . $GLOBALS['foo'] . "'"; //prints: Foo is 'bar'
}
另一个选项,Finbarr mentions,是定义一个常量:
define('FOO', 'bar');
function printFoo() {
echo "Foo is '" . FOO . "'"; //prints: Foo is 'bar'
}
定义的优点是不能在以后覆盖常量。
答案 2 :(得分:3)
这正是它的工作原理。
您是否设置了错误报告,错误日志中是否有任何内容?我猜测包含失败,但你没有看到错误。
答案 3 :(得分:0)
让所有页面都从定义参数的文件开始,然后分派到相应的子页面。这样,第一个文件中定义的变量将存在于所有包含的页面中。