include() 的使用方式与require 相同:
include('myfile.php')语句一般放在流程控制的处理部分。
include 在使用时被加载。 require 是在开始时加载的。 _once后缀表示已经加载但不加载PHP。系统在加载PHP程序时有一个伪编译过程,可以加快程序的运行速度。但include 的文档仍然被解释。如果包含文件有错误,主程序将继续执行。如果require文件出现错误,主程序也会停止。因此,如果被包含文件的错误对系统影响不大(比如接口文件),则使用include,否则使用require。
require() 和include() 语句是语言结构,而不是真正的函数。它们可以像PHP 中的其他语言结构一样。例如,echo() 可以使用echo('ab') 形式或echo 'abc' 形式进行输出。字符串abc。 require() 和include() 语句也可以不加括号直接添加参数。
include_once() 和require_once() 语句还在脚本执行期间包含并运行指定的文件。此行为类似于include() 语句和require(),并且可以以相同的方式使用。唯一的区别是,如果文件中的代码已经包含,则不会再次包含。当脚本执行过程中可能多次包含同一个文件时,应使用这两条语句,以确保只包含一次,以避免函数重定义和变量重新赋值等问题。
2、详解
2.1 报错
include 导入文件时,如果遇到错误,会给出提示,并继续运行下面的代码。
require引入文件时,如果遇到错误,会给出提示,并且下面的代码将停止运行。
要使用示例,请编写两个名为test-include.php 和test-require.php 的PHP 文件。请注意,同一目录中不应有名为test-nothing.php 的文件。
test-include.php
?php
包含“test-nothing.php”;
回显“abc”;
?
test-require.php
?php
需要“test-nothing.php”;
回显“abc”;
?
浏览http://localhost/test-include.php。因为找不到test-nothing.php 文件,所以我们看到了错误消息。同时错误信息下方显示abc。您看到的内容可能类似于以下内容:
警告: include(test-nothing.php) [function.include]: 无法打开stream: 在第2 行的D:\www\test-include.php 中没有这样的文件或目录警告: include() [function.include]: 无法打开'test -nothing.php' 用于包含(include_path='.C:\php5\pear') 在D:\www\test-include.php 第2abc 行浏览http://localhost/test-require.php 因为未找到test-nothing.php文件中,我们看到了错误消息,但是错误消息下方没有显示abc。您看到的内容可能类似于以下内容:
警告: require(test-nothing.php) [function.require]: 无法打开流: 在第2 行的D:\www\test-require.php 中没有这样的文件或目录致命错误: require() [function.require]: 无法打开所需'test-nothing' (include_path='.C:\php5\pear') in D:\www\test-require.php on line 2
2.2 文件引用方式
每次include()执行时需要引用的文件必须读取和求值一样,执行require() 时需要引用的文件只处理一次(实际上是执行时需要引用的文件内容替换了require() 语句)。可以看出,如果有代码包含这些指令之一,并且可能会执行多次代码,那么使用require() 效率更高。如果每次执行代码时读取不同的文件,或者存在循环遍历一组文件的情况,请使用include() 为要包含的文件名设置变量。当参数为include()时使用该变量。
标题:PHP中include和require的区别详解
链接:https://www.7kxz.com/news/sypc/40409.html
版权:文章转载自网络,如有侵权,请联系删除!
用户评论
“我一直以为`include`和`require`在PHP中是一样的,看了这篇标题才知道它们之间有细微的区别。”
有16位网友表示赞同!
"原来`require`会更严格一点,在文件加载失败时会触发一个致命错误,而`include`则只是发出一个警告。这很关键!"
有11位网友表示赞同!
“读完文章后才明白,如果不想在程序中看到一些警告信息,最好使用`require`来取代`include`。”
有5位网友表示赞同!
"对于初学者来说,搞懂这两者的区别挺有帮助的,能让你的代码更健壮。尤其是当涉及到错误处理时!"
有19位网友表示赞同!
“之前经常混用这两个函数,看了这篇文章后我知道怎么正确操作了。感谢你的分享!”
有17位网友表示赞同!
"文章中解释两者执行顺序也很好理解,`require`先于页面加载的剩余部分,这为程序带来了逻辑清晰的优势。”
有10位网友表示赞同!
"感觉自己的`if check file condition before include`技巧提升了不少,特别是针对大型项目时!"
有9位网友表示赞同!
“对于需要经常维护代码的人来说,掌握这两个关键字的区别是必备技能哦!”
有20位网友表示赞同!
"原来这么小的知识点也能影响那么多方面。PHP真是个深不可测的世界呢~谢谢科普!"
有11位网友表示赞同!
“我一直在困惑于何时使用哪个函数,在读完这篇后感觉心里有底了。”
有15位网友表示赞同!
"`require`对于包含的文件要求完全可用,否则程序会彻底失败,这在需要确定文件存在的场景中特别有用。"
有13位网友表示赞同!
"感觉这篇文章就像是为PHP新手量身打造的小教程,通俗又易懂。谢谢!"
有20位网友表示赞同!
“学习到了一个避免错误策略:使用try-catch块与`require/include`结合。”
有5位网友表示赞同!
"从文章中了解到,在可能的并发环境中,`require`提供了更安全的选择。知识的增长真是无止境啊!"
有14位网友表示赞同!
"感谢这么详细的对比讲解,我之前只是机械地用它们做事情,现在有了更深的理解。"
有5位网友表示赞同!
"这篇文章不仅解决了疑惑还拓宽了我对PHP环境的认识。太棒了!"
有13位网友表示赞同!
“通过实际操作例子来解释这些概念,这种方式真是让人易于理解。”
有18位网友表示赞同!
"读完全文后发现自己可以更好地利用`require`或`include`的特性进行代码优化和错误预防。感谢分享!"
有8位网友表示赞同!
"感觉对PHP基础的理解又上了一个台阶。以后写代码时会更加谨慎地选择使用哪个函数了!"
有8位网友表示赞同!
“你的文章不仅解答了我的疑惑,还激发了我深究更多PHP细节的兴趣。”
有16位网友表示赞同!