[PHP基础]include和require的区别

在PHP中include和require的作用相似,都是包含并运行指定文件。但两者存在一些差别。

include

被包含文件先按参数给出的路径寻找,如果没有给出目录(只有文件名)时则按照 include_path 指定的目录寻找。如果在 include_path 下没找到该文件则 include 最后才在调用脚本文件所在的目录和当前工作目录下寻找。如果最后依然未找到,会发出E_WARNING警告。

require

作用和include完全一样,但是如果文件未找到,会产生 E_COMPILE_ERROR 级别的错误。

include和require区别

在未找到文件时include发出E_WARNING警告,而require未找到文件时会产生 E_COMPILE_ERROR 级别的错误。

include_once和require_once

作用和include/require相同,唯一区别是 PHP 会检查该文件是否已经被包含过,如果是则不会再次包含。

如果载入文件失败,include_once和include一样,发出E_WARNING警告。require_once和require一样,未找到文件时会产生 E_COMPILE_ERROR 级别的错误。

取舍

比如是系统配置,缺少了,网站不让运行,自然用require,如果是某一段统计程序,少了,对网站只是少统计人数罢了,不是必须要的,可以用include

而加不加once是效率上的区别,加上once,虽然系统帮你考虑了只加载一次,但系统的判断会是效率降低,因此,更应该在开发之初,就把目录结构调整好,尽量不要用_once的情况。

标签: 无

发表评论: