昨天去面試一個php開發,看到筆試試卷上有這麼一道題目:
include和require有什麼區別?
這個題目可以稱得上php開發面試中的必考題目,網上也有各種答案和解釋。但是我當時卻真的想不起來了。
現在回頭想這個問題,突然有了新的認識:
PHP作爲優秀的開源程序,她所提供的函數從名稱上必定會儘可能地表達出這個函數的作用。那麼理解這兩個函數的區別就容易多了。
require 的英文意思是 需要,有賴於。如果使用了這條語句,也就是告訴PHP內核,我這個程序需要這個文件,有賴於這個文件。或者通俗點兒講就是:我要她!所以,PHP如果發現require參數中的文件不存在的話,就會報fatal error,並且停止執行下面的語句。
include 的英文意思是 包括,包含。如果使用了這條語句,也就是告訴PHP內核,程序執行時,把這個文件包含進來。通俗點兒講就是:帶上她!所以,PHP如果找不到的話,僅僅會提示說,找不到她,無法帶上她。而不會停止下面腳本的執行,因爲我們並沒有告訴PHP內核,下面的程序有賴於這個子文件。