1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | require ?的使用方法如? require ( "MyRequireFile.php" );?。這個函數通常放在?PHP?程序的最前面,PHP?程序在執行前,就會先讀入? require ?所指定引入的文件,使它變成?PHP?程序網頁的一部份。常用的函數,亦可以這個方法將它引入網頁中。 include ?使用方法如? include ( "MyIncludeFile.php" );?。這個函數一般是放在流程控制的處理部分中。PHP?程序網頁在讀到? include ?的文件時,才將它讀進來。這種方式,可以把程序執行時的流程簡單化。 他們兩個的用途是完全一樣的,不一定非得哪個放在最前面哪個放在中間。他們最根本的區別在于錯誤處理的方式不一樣。? require 一個文件存在錯誤的話,那么程序就會中斷執行了,并顯示致命錯誤? include 一個文件存在錯誤的話,那么程序不會中端,而是繼續執行,并顯示一個警告錯誤。? 以下為補充: 1.? include 有返回值,而 require 沒有。? 2.? include ()包括并運行指定文件?在處理失敗時 include ()?產生一個警告,被導入的程序代碼都會被執行,而且這些程序在執行的時候會擁有和源文件中呼叫到 include ()語句的位置相同的變量范圍。你可以導入同一個服務器中的靜態頁面。? 3.? include_once ()的作用和 include ()是幾乎相同的? 唯一的差別在于 include_once ()會先檢查要導入的檔案是不是已經在該程序中的其它地方被導入過了,如果有的話就不會再次重復導入(這項功能有時候是很重要的,比方說要導入的里面宣告了一些你自行定義好的函數,那么如果在同一個程序重復導入這個文件,在第二次導入的時候便會發生錯誤訊息,因為PHP不允許相同名稱的函數被重復宣告第二次)。? 4.? require ()會將目標文件的內容讀入,并且把自己本身代換成這些讀入的內容?在處理失敗時 require ()?則導致一個致命錯。? 這個讀入并且代換的動作是在PHP引擎編譯你的程序代碼的時候發生的,而不是發生在PHP引擎開始執行編譯好的程序代碼的時候(PHP?3.0引擎的工作方式是編譯一行執行一行,但是到了PHP?4.0以后就有所改變了,PHP?4.0是先把整個程序代碼全部編譯完成后,再將這些編譯好的程序代碼一次執行完畢,在編譯的過程中不會執行任何程序代碼)。 require ()通常來導入靜態的內容,而 include ()則適合用導入動態的程序代碼。? 5.?如同 include_once (), require_once ()會先檢查目標文件的內容是不是在之前就已經導入過了,如果是的話,便不會再次重復導入同樣的內容。? 5.? require 是無條件包含也就是如果一個流程里加入 require ,無論條件成立與否都會先執行 require 。? 7.? require 通常放在PHP程序的最前面,PHP程序在執行前,就會先讀入 require 所指定引入的文件,使它變成PHP程序網頁的一部份。常用的函數,亦可以這個方法將它引入網頁中。? 8.? include 一般是放在流程控制的處理部分中PHP程序網頁在讀到 include 的文件時,才將它讀進來。 這種方式可以把程序執 行時 的流程簡單化。 本文轉自 IT阿飛 51CTO博客,原文鏈接:http://blog.51cto.com/itafei/1867570 |