php对象属性在所需页面中为NULL

时间:2012-07-02 03:44:54

标签: php require-once

为什么这样做:

echo $session->name;
require_once('test.php');
//echos the name then loads the required page

但是

var_dump($session->name);
test.php的代码中的

返回NULL。

我认为require_once几乎将所需页面中的所有代码放到我告诉它的地方。

修改

$ session实例是在test.php之外的require之前创建的。如果我在test.php中创建$ session的新实例,它就可以了。很高兴它有效,但这对我来说仍然没有意义,任何人都可以解释一下吗?

2 个答案:

答案 0 :(得分:0)

$session不在范围内。包含初始化$ session的脚本。或者在所有脚本中将其声明为全局,以便仅为$ session保存包含。为什么不使用$_SESSION

答案 1 :(得分:-1)

愚蠢的问题:你是否已经在脚本中的其他地方要求test.on?如果是这样,那么当您第一次包含$ session时,可能没有设置$ session。您是否尝试过include('test.php')?

调试编辑:

您可以尝试以下方法验证正在调用的订单:

在caller.php(或你称之为的任何文件)文件中:

echo "Debug 1";
echo $session->name;
require_once('test.php');

在test.php中:

echo "Debug 2";
var_dump($session->name);

首先打印,Debug 1还是Debug 2?