如何查看另一个php文件中定义的变量?

时间:2010-05-13 21:10:43

标签: php variables include global visibility

我在所有的php文件中使用相同的常量。我不想在我的所有文件中分配此变量的值。所以,我想创建一个“parameters.php”文件并在那里进行分配。然后在所有其他文件中include使用“parameters.php”并使用“parameters.php”中定义的变量。

这是想法,但它不起作用。我还尝试制作变量global。它也行不通。有办法做我想要的吗?或者可能有一些替代方法?

4 个答案:

答案 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)

让所有页面都从定义参数的文件开始,然后分派到相应的子页面。这样,第一个文件中定义的变量将存在于所有包含的页面中。