php – 包含,require和require_once

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 包含,require和require_once脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
今天我试图包含返回对象的文件.我总是使用require_once,但是现在我注意到它的奇怪行为.

文件main.PHP

$lang = false;
$lang->name = "eng";
$lang->author = "Misiur";
$lang->text = "Text is test";
$lang->undefined = "Undefined";
return $lang;

文件index.PHP

$lang = include('langs/eng/main.PHP');
var_dump($lang);
echo "<br />";
$lang = require('langs/eng/main.PHP');
VAR_dump($lang);
echo "<br />";
$lang = require_once('langs/eng/main.PHP');
var_dump($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工作正常.多谢你们

当您使用include并要求您获得您正在引用的页面的结果时.当你使用require_once时,它检查并发现页面已经使用require加载,所以它返回true告诉你它已经在某个时候成功加载了.

脚本宝典总结

以上是脚本宝典为你收集整理的php – 包含,require和require_once全部内容,希望文章能够帮你解决php – 包含,require和require_once所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。