我有一个名为Foo
的命名空间。该命名空间中有各种类,比如Bar
和Baz
。
在其他一些文件中,我想使用Foo
命名空间,通过它可以获得对所有类的访问权限,而无需使用\Foo\ClassName
作为前缀。
我试图做的是在剧本的顶部:
use Foo;
然后简单地做一些事情:
$bar = new Bar;
但是,当我尝试这个时,我收到一个错误:The use statement with non-compound name 'Foo' has no effect
,最终导致我必须事先指定我想要使用的每个类。有没有解决方法?
答案 0 :(得分:2)
PHP的use
keyword不能像C ++的using namespace;
那样工作,因为你不能包含整个命名空间。您可以使用别名或包含每个类。
如果你想new Bar;
,你必须做这样的事情:
use Foo\Bar;
您必须为Foo名称空间中所需的每个类执行此操作。据我所知,没有解决方法。