©
This document uses PHP Chinese website manual Release
如前所述,PHP 社区已经有许多开发者开发了大量的代码。这意味着一个类库的 PHP 代码可能使用了另外一个类库中相同的类名。如果两个库都使用同一个命名空间,那将会产生冲突导致异常。
命名空间 解决了这个问题。如 PHP 手册里所描述,命名空间好比操作系统中的目录,两个同名的文件可以共存在不同的目录下。同理两个同名的 PHP 类可以在不同的 PHP 命名空间下共存,就这么简单。
因此把你的代码放在你的命名空间下就非常重要,避免其他开发者担心与第三方类库冲突。
PSR-4 提供了一种命名空间的推荐使用方式,它提供一个标准的文件、类和命名空间的使用惯例,进而让代码做到随插即用。
2014 年 10 月,PHP-FIG 废弃了上一个自动加载标准: PSR-0。目前,PSR-0 和 PSR-4 两个标准都完全可用。由于 PSR-4 要求 PHP 5.3 及以上的版本,因此很多专门针对 PHP 5.2 的项目实现的是 PSR-0 标准。
如果你在新应用或扩展包中使用自动加载标准,请应优先考虑使用 PSR-4。