php中require和require

來源:互聯網
上載者:User

  本篇文章主要是對php中require和require_once的區別進行了說明介紹,需要的朋友可以過來參考下,希望對大家有所協助

  include() 和require() :語句包括並運行指定檔案。

  include() 產生一個警告而 require() 則導致一個致命錯誤。換句話說,如果你想在遇到丟失檔案時停止處理頁面就用 require()。include() 就不是這樣,指令碼會繼續運行。

  require_once() 語句在指令碼執行期間包括並運行指定檔案。此行為和 require() 語句類似,唯一區別是如果該檔案中的代碼已經被包括了,則不會再次包括。

  include_once() 語句在指令碼執行期間包括並運行指定檔案。此行為和 include() 語句類似,唯一區別是如果該檔案中的代碼已經被包括了,則不會再次包括。如同此語句名字暗示的那樣,只會包括一次。

  1.include() 函數會將指定的檔案讀入並且執行裡面的程式。

  例如:include('/home/me/myfile');

  被匯入的檔案中的程式碼都會被執行,而且這些程式在執行的時候會擁有和源檔案中呼叫到 include() 函數的位置相同的變數範圍(variable scope)。你可以匯入同一個伺服器中的靜態檔案,甚至可以通過合并使用 include() 與 fopen() 函數來匯入其它伺服器上面的檔案。

  2.include_once()函數的作用和 include() 是幾乎相同的

  唯一的差別在於 include_once() 函數會先檢查要匯入的檔案是不是已經在該程式中的其它地方被匯入過了,如果有的話就不會再次重複匯入該檔案(這項功能有時候是很重要的,比方說要匯入的檔案裡面宣告了一些你自行定義好的函數,那麼如果在同一個程式重複匯入這個檔案,在第二次匯入的時候便會發生錯誤訊息,因為 PHP 不允許相同名稱的函數被重複宣告第二次)。

  3.require()函數會將目標檔案的內容讀入,並且把自己本身代換成這些讀入的內容。

  這個讀入並且代換的動作是在 PHP 引擎編譯你的程式碼的時候發生的,而不是發生在 PHP 引擎開始執行編譯好的程式碼的時候(PHP 3.0 引擎的工作方式是編譯一行執行一行,但是到了 PHP 4.0 就有所改變了,PHP 4.0 是先把整個程式碼全部編譯完成後,再將這些編譯好的程式碼一次執行完畢,在編譯的過程中不會執行任何程式碼)。require() 通常來匯入靜態內容,而 include() 則適合用來匯入動態程式碼。

  4.如同 include_once()函數,require_once() 函數會先檢查目標檔案的內容是不是在之前就已經匯入過了,如果是的話,便不會再次重複匯入同樣的內容。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.