Spl_autoload_register和名称空间问题


spl_autoload_register and namespaces issue

为什么会返回致命错误:class 'Mynamespace'String' not found in…:

set_include_path(get_include_path().PATH_SEPARATOR.'library/');
spl_autoload_extensions('.php');
spl_autoload_register();
Mynamespace'String::myfunc('Test');

我的库/String.php是:

<?php
namespace Mynamespace;
class String
{
    static function myfunc($needle)
    {
        echo $needle;
    }

请不要,如果我删除命名空间它工作得很好

不带参数的spl_autoload_register()只注册spl_autoload()

默认的自动加载器不会将名称空间转换为目录名或其他任何内容。它只是将接收到的类名小写,并附加一个.php后缀。因此,命名空间类只能在Windows上工作,这是偶然的。