Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php PSR-0自动加载程序:名称空间和目录结构_Php_Namespaces_Autoload_Autoloader_Psr 0 - Fatal编程技术网

Php PSR-0自动加载程序:名称空间和目录结构

Php PSR-0自动加载程序:名称空间和目录结构,php,namespaces,autoload,autoloader,psr-0,Php,Namespaces,Autoload,Autoloader,Psr 0,PSR-0 autoloader约定是否要求使用映射到目录结构的名称空间 function autoload($className) { $className = ltrim($className, '\\'); $fileName = ''; $namespace = ''; if ($lastNsPos = strrpos($className, '\\')) { $namespace = substr($className, 0, $las

PSR-0 autoloader约定是否要求使用映射到目录结构的名称空间

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;
}
PSR-0需要它

从文件系统加载时,每个名称空间分隔符都转换为目录分隔符

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