網上太多關于php中include與require區別。其實說的都是經不起驗證的。隨意找了一個截圖如下:
還信誓旦旦的解釋:include()是有條件包含函數,而require()則是無條件包含函數。
但是這是很久之前的事了,現在的php,require與include確實有區別,筆者測試的是5.3以上版本測試結果如下:
發現這兩種結構除了在性能和在如何處理包含失敗之外,其他完全一樣。
1、在性能方面
測試發現當require與include在性能方面差別不大,覺得這方面可以不用考慮(可能是我測試的樣例不夠多吧)
pre name= code >2、在包含錯誤處理方面
在包含失敗 時,include()產生一個警告并繼續執行,而require()則導致一個致命錯誤。換句話說,如果想在遇到丟失文件時停止處理頁面就用 require(),否則就用include()。
include a9.inc // span >補充:include,require包含作用域
文件a2.inc
$name= lidquan html' target='_blank'>class Teacher{ public function show(){ echo my job is teacher /br function showName(){ echo a2.inc 里面的方法 }文件 index.php
function a(){ require a2.inc $teacher =new Teacher(); $teacher- show();a();//正常調用showName();//正常調用var_dump($name);//提示$name沒有定義結果截圖如下:
關于包含文件后作用域問題總結如下:
1、所有在被包含文件中定義的函數和類在被包含后,在包含文件里都具有全局作用域
2、被包含文件的變量的作用域,隨著包含位置的變化而變化。比如如果是在函數中包含,被包含文件的變量是局部變量
相關文章推薦:
php如何使用curl方法請求Java接口?php用curl方法請求Java接口的兩種方法
PHP中如何將session存入數據庫并使用(附代碼)
以上就是php中include()函數與require()函數有何區別?的詳細內容,PHP教程
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答