自动加载规范
- 其中
Vendor Name
为每个命名空间都必须要有的一个顶级命名空间名; - 需要的话,每个命名空间下可以拥有多个子命名空间;
- 当根据完整的命名空间名从文件系统中载入类文件时,每个命名空间之间的分隔符都会被转换成文件夹路径分隔符;
- 类名称中的每个
_
字符也会被转换成文件夹路径分隔符,而命名空间中的_
字符则是无特殊含义的。 - 当从文件系统中载入标准的命名空间或类时,都将添加
.php
为目标文件后缀;
\Doctrine\Common\IsolatedClassLoader
=>/path/to/project/lib/vendor/Doctrine/Common/IsolatedClassLoader.php
\Symfony\Core\Request
=>/path/to/project/lib/vendor/Symfony/Core/Request.php
\Zend\Acl
=>\Zend\Mail\Message
=>/path/to/project/lib/vendor/Zend/Mail/Message.php
\namespace\package\Class_Name
=>/path/to/project/lib/vendor/namespace/package/Class/Name.php