include与__autoload与命名空间namespace与PSR4详解
Posted liuzhiqaingxyz
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了include与__autoload与命名空间namespace与PSR4详解相关的知识,希望对你有一定的参考价值。
1. include, require, include_once, require_once
include和require是php中引入源文件最基本的用法,其他例如__autoload, namespace, PSR4等其实都是调用include,或者require而成
include和require的执行查找步骤:
(1)被包含文件先按参数给出的路径寻找;
(2)如果没有给出目录(只有文件名)时则按照 include_path 指定的目录寻找;
(3)如果在 include_path 下没找到该文件则 include 最后才在调用脚本文件所在的目录和当前工作目录下寻找;
(4)如果最后仍未找到文件则 include 结构会发出一条notice;require则会发出一个error
include和include_once的区别在于如果已经包含过文件,则include_once不再包含;require和require_once的区别也是如此
2. __autoload加载未定义的类
__autoload实现加载未定义的类依然是通过include或者require来实现
用法为:
void __autoload ( string
$class
)
以上是关于include与__autoload与命名空间namespace与PSR4详解的主要内容,如果未能解决你的问题,请参考以下文章
php __autoload 在有命名空间的时候失效(使用的局限性)