`

PHP理解之二:include,include_once,require,require_once之间的区别【转】

    博客分类:
  • PHP
 
阅读更多

转自:http://registerboy.pixnet.net/blog/post/2426163

 

require() is identical to include() except upon failure it will produce a fatal E_ERROR level error. In other words, it will halt the script whereas include() only emits a warning (E_WARNING ) which allows the script to continue


這幾個的區別呢 經常會聽到有人討論,連一些PHPER面試都會出這個題目,我淺顯的說一下我的意見

先看手冊怎麼說的:

 

require&include
include()語句包含並運行指定文件。以下文檔也適用於require()。這兩種結構除了在如何處理失敗之外完全一樣。include()產生一個警告而require()則導致一個致命錯 誤。換句話說,如果想在遇到丟失文件時停止處理頁面就用require()。include()就不是這樣,腳本會繼續運行。同時也要確認設置了合適的 include_path。注意在 PHP 4.3.5 之前,包含文件中的語法錯誤不會導致程序停止,但從此版本之後會。


include_once
include_once()語句在腳本執行期間包含並運行指定文件。此行為和include()語句類似,唯一區別是如果該文件中的代碼已經被包含了,則不會再次包含。如同此語句名字暗示的那樣,只會包含一次。include_once()應該用於在腳本執行期間同一個文件有可能被包含超過一次的情況下,想確保它只被包含一次以避免函數重定義,變量重新賦值等問題。


require_once
require_once()語句在腳本執行期間包含並運行指定文件。此行為和require()語句類似,唯一區別是如果該文件中的代碼已經被包含了,則不會再次包含。有關此語句怎樣工作參見require()的文檔。require_once()應該用於在腳本執行期間同一個文件有可能被包含超過一次的情況下,想確保它只被包含一次以避免函數重定義,變量重新賦值等問題。



個人使用經驗:

1.路徑問題。

特別是嵌套包含的時候,一定的注意包含文件的路徑。比如 A文件包含了B文件,B文件包含了C文件,A,B,C文件都不在同一個文件夾下,這個時候往往很容易出錯誤。
解決方案:定義一個基路徑sitebase

2.效率問題
include_once,require_once,與include,require比較,效率要低一點,因為他們至少得先判斷一下這個文件是否存在。

分享到:
评论

相关推荐

    PHP包含文件函数include、include_once、require、require_once区别总结

    include() 、require()语句包含并运行指定文件。这两结构在包含文件上完全一样,唯一的区别是对于错误的处理。require()语句在遇到包含文件不存在,或是出错的时候,就停止即行,并报错。include()则继续即行。

    简单谈谈PHP中的include、include_once、require以及require_once语句

    在PHP编程语言中,`include`、`include_once`、`require`以及`require_once`是四个非常重要的语句,它们用于将一个或多个文件的内容插入到当前正在执行的脚本中。这些语句主要用于组织代码,重用功能或者引入配置...

    php include,include_once,require,require_once

    在PHP编程语言中,include、include_once、require以及require_once是四个常用的语句,用于包含并运行指定文件中的PHP代码。虽然这些函数非常实用,但是很多人可能在使用时并不完全清楚它们之间的差异及其适用场景。...

    phpmyadmin安装时提示:Warning: require_once(./libraries/common.inc.php)错误解决办法

    在PHPMyAdmin的安装过程中,有时会遇到一个常见的错误提示:“Warning: require_once(./libraries/common.inc.php) [function.require-once]: failed to open stream: No such file or directory”。这个错误意味着...

    require(),include(),require_once()和include_once()区别

    在PHP编程中,`require()`, `include()`, `require_once()`, 和 `include_once()` 是四个非常重要的语句,它们用于将一个或多个文件的内容插入到当前正在执行的脚本中。这些语句主要用于组织代码,重用代码块,或者...

    深入理解require与require_once与include以及include_once的区别

    总的来说,理解并正确使用`require`、`require_once`、`include`和`include_once`是编写高效、可靠的PHP代码的基础,它们帮助开发者遵循“Don't Repeat Yourself”(DRY)原则,提高代码的可重用性。

    强烈声明: 不要使用(include/require)_once

    关于使用include还是include_once(以下,都包含require_once), 这个讨论很长了, 结论也一直有, 就是尽量使用include, 而不是include_once, 以前最多的理由的是, include_once需要查询一遍已加载的文件列表, 确认是否...

    深入掌握include_once与require_once的区别

    ①作用及用法 可以减少代码的重复 include(_once)(”文件的路径”)与require(_once)(”文件的路径”) ②理解 说白了,就是用包含进来的文件中的内容 代替 include(_once),require(_once)那一行 ③注意 include/...

    PHP中include/require/include_once/require_once使用心得

    相信大家在使用PHP时经常看到include a.php、include_once a.php、require a.php或者require_once a.php类似这样的写法吧? 我们一起来学习和总结一下这几个语句的作用及特点! include 使用方法: include "test...

    require(),include(),require_once()和include_once()的异同

    `require_once()` 和 `include_once()` 分别是 `require()` 和 `include()` 的变体,它们的区别在于,这两个函数会检查文件是否已经被包含过。如果文件已经被包含,那么它们就不会再次执行包含操作。这是防止重复...

    请离开include_once和require_once

    因此,开发者应考虑避免使用`include_once` 和 `require_once`,转而使用`include` 和 `require`,因为这可以更好地控制文件的包含,并且在有自动加载机制(如spl_autoload_register)的情况下,可以更有效地确保...

    PHP中include与require使用方法区别详解

    在PHP变成中,include()与require()的功能相同,include(include_once) 与 require(require_once)都是把把包含的文件代码读入到指定位置来,但是二者再用法上有区别:(include()是有条件包含函数,而require()...

Global site tag (gtag.js) - Google Analytics