我有一些文件:
core.php中:
require_once 'logger.php';
require_once 'smth_else.php';
$Logger = new Logger();
$Else = new Smth_else();
smth_else.php :
...
$Logger->write(...);
...
得到:
注意:未定义的变量:记录器 smth_else.php ...
答案 0 :(得分:3)
设置变量和要求文件的顺序很重要。这将有效:
require_once 'logger.php';
$Logger = new Logger();
require_once 'smth_else.php';
$Else = new Smth_else();
答案 1 :(得分:2)
'smth_else.php'
中的代码在包含时执行,即require_once
。在那个阶段,您没有定义$Logger
。
答案 2 :(得分:1)
您必须在包含smth_else.php之前定义$ logger 。 考虑一下包含,就像你将它粘贴到包含的上下文中一样。