大家好

在 PHP裡面 include與 require 到底有什麼差異呢?
有時候應徵一些工作也會被問到
不過我覺得總而言之就是

使用 include 發生錯誤的時候不會停止,例如沒include到資料,或是include內容有錯

require  則是有錯誤就會停止,例如檔案不存在 或是 PHP 語法有錯

例如 include :

<?php
include("test.php");
echo 'pass';

執行會有以下結果. 可以看到還是產生 pass了

<br />
<b>Warning</b>:  include(test.php): failed to open stream: No such file or directory in <b>[...][...]</b> on line <b>2</b><br />
<br />
<b>Warning</b>:  include(): Failed opening 'test.php' for inclusion (include_path='.:') in <b>[...][...]</b> on line <b>2</b><br />
pass

 

例如 require  :

<?php
required("test.php");
echo 'pass';

 

執行會有以下結果. 可以看到直接停止了

<br />
<b>Fatal error</b>:  Uncaught Error: Call to undefined function required() in [...][...]:2
Stack trace:
#0 {main}
  thrown in <b>[...][...]</b> on line <b>2</b><br />

 

基本的認知就是這樣
是不是還有其他細項我就不是很清楚了