0

PSR-0 自动加载器约定是否需要使用映射到目录结构的命名空间?

function autoload($className)
{
    $className = ltrim($className, '\\');
    $fileName  = '';
    $namespace = '';
    if ($lastNsPos = strrpos($className, '\\')) {
        $namespace = substr($className, 0, $lastNsPos);
        $className = substr($className, $lastNsPos + 1);
        $fileName  = str_replace('\\', DIRECTORY_SEPARATOR, $namespace) . DIRECTORY_SEPARATOR;
    }
    $fileName .= str_replace('_', DIRECTORY_SEPARATOR, $className) . '.php';

    require $fileName;
}
4

1 回答 1

1

PSR-0 需要它。

从文件系统加载时,每个命名空间分隔符都会转换为 DIRECTORY_SEPARATOR。

从文件系统加载时,完全限定的命名空间和类以 .php 为后缀。

https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md

于 2013-07-02T08:23:01.973 回答