今天我试图包含返回对象的文件.我总是使用require_once,但是现在我注意到它的奇怪行为.
- $lang = false;
- $lang->name = "eng";
- $lang->author = "Misiur";
- $lang->text = "Text is test";
- $lang->undefined = "Undefined";
- return $lang;
结果
- object(stdClass)#9 (4) { ["name"]=> string(3) "eng" ["author"]=> string(6) "Misiur" ["text"]=> string(12) "Text is test" ["undefined"]=> string(9) "Undefined" }
- object(stdClass)#10 (4) { ["name"]=> string(3) "eng" ["author"]=> string(6) "Misiur" ["text"]=> string(12) "Text is test" ["undefined"]=> string(9) "Undefined" }
- bool(true)
为什么会那样?我认为require和require_once是一回事,只有require_once更安全,因为它不会重复包含.
谢谢.
编辑:
但是当我只使用require_once时,我也得到了bool(true).所以require_once只返回include的结果,而不是它的内容?
EDIT2:
大声笑.我没注意到,之前我在我的类中需要这个文件,这个文件是在代码执行之前创建的($this-> file = require_once(“langs / $name / main.PHP”);)
所以require_once工作正常.多谢你们!