# require() require_once() 與 include() include_once() 差別
###### tags: `php`
### 1. require() 與 include() 差別:
#### (1) 只在處理錯誤訊息上面的差別,其餘功能相同
require 生成一個**致命錯誤**,在錯誤發生後腳本會停止執行。
include 生成一個**警告(E_WARNING)**,在錯誤發生後腳本會繼續執行。
require 引入的檔有錯誤時,**執行會中斷**,並返回一個致命錯誤(E_COMPILE_ERROR);
include 引入的檔有錯誤時,會**繼續執行**,並返回一個警告(E_WARNING)。
require 一般放在 PHP 檔的最前面,程式在執行前就會先導入要引用的檔;
include 一般放在程式的流程控制中,當程式執行時碰到才會引用,簡化程式的執行流程。
#### 主要功能即在引入檔案,當檔案過去引入過,不會判斷,仍會繼續引入因此加了 once
### 2. require_once() 與 include_once():
除了執行錯誤方式一樣不同之外,
加了once後,能判斷**引入檔案是否過去曾被引用**,若曾被引用就不再載入
### 3. Include_once-如果在相同的檔案中遇到另一個include或include_once語句時,PHP會檢查它是否已經被匯入過,如果是,就忽略它。
使用include和include_once語句的潛在問題是:PHP只會試圖匯入被請求匯入的檔案,即使該檔案沒有被找到,程式依舊會執行。
當我們**絕對需要匯入一個檔案**時,使用require語句

來源:
https://ithelp.ithome.com.tw/articles/10238540
https://injerry.pixnet.net/blog/post/39082306
https://vimsky.com/zh-tw/examples/usage/php-include_once-require_once.html
https://codertw.com/%E7%A8%8B%E5%BC%8F%E8%AA%9E%E8%A8%80/213553/