【发布时间】:2012-07-02 12:09:34
【问题描述】:
为什么会这样:
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 实例,它就可以工作。很高兴它有效,但这对我来说仍然没有意义,谁能解释一下?
【问题讨论】:
-
是 test.php 中唯一的 var_dump 吗?
-
而 var_dump($session) 返回什么?
-
没有其他代码在
test.php中运行良好。var_dump($session)在 test.php 之外时返回一个对象,但在其中时返回 NULL。 -
查看我的编辑。已修复,但不知道为什么。
-
这取决于您,但我认为您真的应该考虑跟踪此问题,而不是认为问题已解决。如果 $session 超出了 test.php 的范围,那肯定是有原因的。鉴于您最初编写的代码,它应该可以工作,而且它不意味着发生了一些奇怪的事情,这可能会在以后给您带来很多悲伤和冲突。如果您愿意继续进行故障排除,我还有一两个想法。
标签: php require-once