include()
include_once()
require()
require_once()
都属于可以直接引用外部档案的函式
require()
主要是将档案引入主要程式码内,也就是说引入的档案内容为主程式的一部份
include()
若主程式使用include()来引入档案时,主程式呼叫一次include(),就会立即引用一次
若主程式呼叫一百次,该档案就会被引入一百次。
除了require()与include()函数外,PHP还提供有require_once()
与include_once()
这两个雷同的引入档函数,可以防止进行重複引入档案时,造成多次重覆读取而使得常数或自订函数重複定义的情形。
例:第一次迴圈时藉由require(“discount.php”)函数引入折扣运算档案后,可以顺利的进行discount这个自订函数的运算,可是,第二次迴路时若再利用require(“discount.php”)函数进行引入档案时,将发生无法重新宣告discount()这个自订函数的错误。整个在利用浏览程式时,将出现错误显示。
若不希望每次迴路的执行造成重複引入档案时发生了重複定义常数或函数的冲突,则可以将原本的require()含数改成require_once(),或者include()函数改成include_once(),让引入的档案无论如何都只被引入一次而已。
include()提供有回传值(return)的功能
但是require()函数并不容许有回传值
若引入档的程式中有误,譬如,甚至整个引入档的储存位置错误或根本就不存在,
则若使用require()函数来进行引入档案的引入时,会直接停止程式的执行;
若使用的是include()函数来进行引入档案的引入时,会先产生警告讯息并忽略错误而继续执行后续的程式。
若不希望显示错误的讯息,则可以将php.ini档案里的display_errors=On的参数设定改成display_errors=Off。
参考来源
https://slidesplayer.com/slide/14139731/
https://slidesplayer.com/slide/14499616/
https://blog.xuite.net/linux.k1/k1/12714331-%5BPHP%5Dinclude%E3%80%81include_once%E3%80%81require%E3%80%81require_once%E5%87%BD%E5%BC%8F%E4%B9%8B%E9%96%93%E7%9A%84%E5%B7%AE%E7%95%B0%E7%AD%86%E8%A8%98