Php 在全局上下文中与autoloader一起使用命名空间

Php 在全局上下文中与autoloader一起使用命名空间,php,Php,由于有一个外部库,我不得不使用名称空间。因为在我意识到使用名称空间与我的\uu autoload()不兼容之前,我没有使用过名称空间。下面的代码将显示 加载类Foo\Bar\NamespaceClass失败,请更新自动加载程序 我怎样才能解决这个问题?Foo类只是外部库的包装器 // This is my autoloaded class file use Foo\Bar\NamespaceClass; class Foo { public function Bar() {

由于有一个外部库,我不得不使用名称空间。因为在我意识到使用名称空间与我的
\uu autoload()
不兼容之前,我没有使用过名称空间。下面的代码将显示

加载类Foo\Bar\NamespaceClass失败,请更新自动加载程序

我怎样才能解决这个问题?
Foo
类只是外部库的包装器

// This is my autoloaded class file
use Foo\Bar\NamespaceClass;

class Foo
{
    public function Bar()
    {
        $namespaceClass = new NamespaceClass();
    }
}

// This is a separate file calling my class "Foo" from global namespace
$myAutoloadedClass = new Foo();
$myAutoloadedClass->Bar();

我认为您不了解名称空间是如何工作的。例如,我建议你阅读有关这方面的文章

此外,我建议您使用。几乎所有的第三方库都遵循这一点,它们都带有一个您可以直接使用的自动加载器


最后,你说你使用一个外部库。你看了吗?这是一个非常好的工具,可以帮助您自动加载、更新和使用外部库。我建议你观看KnpUniversity的精彩视频:

你应该更新自动加载器。

@artragis不,我没有。