溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP中include和require的區別是什么

發布時間:2021-03-10 14:04:08 來源:億速云 閱讀:138 作者:小新 欄目:編程語言

這篇文章主要介紹了PHP中include和require的區別是什么,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

1、概要

  require()語句的性能與include()相類似,都是包括并運行指定文件。不同之處在于:對include()語句來說,在執行文件時每次都要進行讀取和評估;而對于require()來說,文件只處理一次(實際上,文件內容替換require()語句)。這就意味著如果可能執行多次的代碼,則使用require()效率比較高。另外一方面,如果每次執行代碼時是讀取不同的文件,或者有通過一組文件迭代的循環,就使用include()語句。

  require()的使用方法如:

  require("myfile.php")

  這個語句通常放在PHP腳本程序的最前面。PHP程序在執行前,就會先讀入require()語句所引入的文件,使它變成PHP腳本文件的一部分。

  include()使用方法和require一樣如:

  include("myfile.php")

  這個語句一般是放在流程控制的處理區段中。

  PHP腳本文件在讀到include()語句時,才將它包含的文件讀取進來。這種方式,可以把程式執行時的流程簡單化。

  incluce在用到時加載

  require在一開始就加載

  _once后綴表示已加載的不加載

  PHP系統在加載PHP程序時有一個偽編譯過程,可使程序運行速度加快。但incluce的文檔仍為解釋執行。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引入文件的時候,如果碰到錯誤,會給出提示,并停止運行下邊的代碼。

  用例子來說話,寫兩個php文件,名字為test-include.php和test-require.php,注意相同的目錄中,不要存在一個名字是test-nothing.php的文件。

  test-include.php

  

  test-require.php

  

  瀏覽http://localhost/test-include.php,因為沒有找到test-nothing.php文件,我們看到了報錯信息,同時,報錯信息的下邊顯示了abc,你看到的可能是類似下邊的情況:

  Warning:include(test-nothing.php)[function.include]:failedtoopenstream:NosuchfileordirectoryinD:\www\test-include.phponline2

  Warning:include()[function.include]:Failedopening'test-nothing.php'forinclusion(include_path='.;C:\php5\pear')inD:\www\test-include.phponline2

  abc

  瀏覽http://localhost/test-require.php,因為沒有找到test-nothing.php文件,我們看到了報錯信息,但是,報錯信息的下邊沒有顯示abc,你看到的可能是類似下邊的情況:

  Warning:require(test-nothing.php)[function.require]:failedtoopenstream:NosuchfileordirectoryinD:\www\test-require.phponline2

  Fatalerror:require()[function.require]:Failedopeningrequired'test-nothing'(include_path='.;C:\php5\pear')inD:\www\test-require.phponline2

  2.2文件引用方式

  include()執行時需要引用的文件每次都要進行讀取和評估,require()執行時需要引用的文件只處理一次(實際上執行時需要引用的文件內容替換了require()語句)可以看出若有包含這些指令之一的代碼和可能執行多次的代碼,則使用require()效率比較高,若每次執行代碼時相讀取不同的文件或者有通過一組文件疊代的循環,就使用include(),可以給想要包括的文件名設置變量,當參數為include()時使用這個變量。

感謝你能夠認真閱讀完這篇文章,希望小編分享的“PHP中include和require的區別是什么”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女