使用命名空间中的所有类

时间:2014-09-03 14:10:44

标签: php namespaces

我有一个名为Foo的命名空间。该命名空间中有各种类,比如BarBaz

在其他一些文件中,我想使用Foo命名空间,通过它可以获得对所有类的访问权限,而无需使用\Foo\ClassName作为前缀。

我试图做的是在剧本的顶部:

use Foo;

然后简单地做一些事情:

$bar = new Bar;

但是,当我尝试这个时,我收到一个错误:The use statement with non-compound name 'Foo' has no effect,最终导致我必须事先指定我想要使用的每个类。有没有解决方法?

1 个答案:

答案 0 :(得分:2)

PHP的use keyword不能像C ++的using namespace;那样工作,因为你不能包含整个命名空间。您可以使用别名或包含每个类。

如果你想new Bar;,你必须做这样的事情:

use Foo\Bar;

您必须为Foo名称空间中所需的每个类执行此操作。据我所知,没有解决方法。