php代码中,使用include和require有什么区别? |
您所在的位置:网站首页 › 病例分析经验总结 › php代码中,使用include和require有什么区别? |
![]() 最近苏南大叔写了node下的require和import区别。就忽然间想起,很多年前曾经在一篇文章里面埋过一个坑,php的经典面试题:require和include有啥区别。那么,本文中苏南大叔就来填一下这个坑。说说在php中,include和require的最大区别。
大家好,这里是苏南大叔的“程序如此灵动”博客,这里讲述苏南大叔和计算机代码的故事。本文讲述php中,使用include语句和require语句,有什么具体的不同之处。本文测试环境:win10,[email protected]。 区别之处经过不断的经验总结,在实际php应用中,include和require几乎是没有什么区别的,都是用来引入某个文件的。经过不断测试,两者区别在于:当被引用的文件不存在的时候,会有较大的区别。 当被引用的文件不存在的时候, include抛出异常,但是会继续执行,也就是说:include处理异常为warning。用于引入html代码片段,即使文件不存在,也不会退出执行。require抛出异常,拒绝执行,也就是说:include处理异常为fatal error。用于引入类库文件,如果不存在就直接报错退出执行。现在假设不存在404.php这个文件。 include不存在的文件warning
测试代码demo_include.php如下: include ("404.php"); echo "continue";测试结果: Warning: include(404.php) [function.include]: failed to open stream: No such file or directory in demo_include.php on line 4 Warning: include() [function.include]: Failed opening '404.php' for inclusion (include_path='.;C:\php5\pear') in demo_include.php on line 4 continuerequire不存在的文件fatalerror
demo_require.php require ("404.php"); echo "continue";测试结果: Warning: require(404.php) [function.require]: failed to open stream: No such file or directory in demo_require.php on line 4 Fatal error: require() [function.require]: Failed opening required '404.php' (include_path='.;C:\php5\pear') in demo_require.php on line 4网传的不一致循环中表现一致,下述代码测试,两者表现一致。 //require $i = 1; while ($i < 3) { require "./a$i.php"; $i++; } //include $i = 1; while ($i < 3) { include "./a$i.php"; $i++; }处理被包含文件的内部错误时,表现一致。 比如被包含文件404.php内调用了一个不存在的函数test()的时候,都会导致fatalerror程序停止执行。
在php中,include和require的区别在于:被引用的文件不存在时,两者的态度不一致。include表示可以接受(warning),require则表示完全不能接受(fatal error)。 苏南大叔的理解就这么多,如果您有不同看法,欢迎留言。更多php相关经验文章: https://newsn.net/tag/php/![]() ![]() ![]()
|
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |