Php spl自动加载:未找到类–;名称空间问题?

Php spl自动加载:未找到类–;名称空间问题?,php,autoload,spl-autoload-register,spl-autoloader,Php,Autoload,Spl Autoload Register,Spl Autoloader,我刚被PHP自动加载弄湿了脚。事实上,我认为我已经掌握了基本知识,但不知怎么的,它仍然不起作用 我得到了以下目录结构: myLib -bootstrap.php -sven -project project.php bootstrap.php是使用lib时包含的文件。在这个文件中,我只有以下代码: spl_autoload_extensions('.php'); spl_autoload_register(); $var = new \

我刚被PHP自动加载弄湿了脚。事实上,我认为我已经掌握了基本知识,但不知怎么的,它仍然不起作用

我得到了以下目录结构:

myLib
    -bootstrap.php
    -sven
        -project
            project.php
bootstrap.php
是使用lib时包含的文件。在这个文件中,我只有以下代码:

spl_autoload_extensions('.php');
spl_autoload_register();

$var = new \sven\project\project();
$var->init();
project.php
中:

namespace sven\project;

class project {
    public function init() {
        echo 'It works!';
    }
}
根据我的理解,自动加载程序的使用方式是,核心PHP自动加载程序应该将名称空间转换为目录,然后查找包含该类的PHP

而不是显示“它工作!”,抛出一个致命错误。不幸的是,我不能确切地说出错误是什么,因为CMS只通知我有一个致命错误。
但是有了这样一个简单的结构,我确信这个错误是非常基本的,并且对于知道它是如何工作的人来说很容易找到

这个例子哪里出了问题?我是否正确地描述了自动加载器在这个设置中应该如何工作,或者是否存在误解

编辑:最终运行了错误日志:

致命错误:未定义类:第36行/xxx/bootstrap.php中的sven\\project\\project\\project\\project

这显然是错误的,但如何改变呢?为什么有两个反斜杠

spl_autoload_extensions('.php');
spl_autoload_register();
此代码仅适用于PHP5.3及以上版本。

Sven

我刚刚回答了另一个关于spl_自动加载的问题,试试我的例子

我希望有帮助

附言:
另外,不要只自动加载路径上的所有.php文件,这可能很危险

嗯,我正在运行5.6.99&hhvm3.3.0;-)