我正在使用带有 PHP 命名空间的应用程序,我认为这不是我做的......
\MyNamespace\ClassName::MyFunction();
我可以
use MyNamespace;
ClassName::MyFunction();
如果我在页面中多次使用该对象。这对我不起作用。我一直不得不使用第一种方法。
我对use
关键字缺少什么?
我正在使用带有 PHP 命名空间的应用程序,我认为这不是我做的......
\MyNamespace\ClassName::MyFunction();
我可以
use MyNamespace;
ClassName::MyFunction();
如果我在页面中多次使用该对象。这对我不起作用。我一直不得不使用第一种方法。
我对use
关键字缺少什么?
use
将基本上使用姓氏创建指向其参数的链接(除非另有说明)。要使用ClassName
而不必一直指定其命名空间,您必须导入以下内容:
use \MyNamespace\ClassName;
因此,ClassName
设置为对位于 的类型的引用\MyNamespace\ClassName
。
它类似于 Java 的import
工作方式,而不像 C# 那样using
导入整个命名空间。
您应该尝试:
use \MyNamespace\ClassName as MyClassName;
MyClassName::MyFunction();
您需要导入/使用确切的类名:
use MyNamespace\ClassName;
ClassName::myFunction();
您还可以使用以下语法:
use MyNamespace\MySubnamespace;
MySubnamespace\MyClassname::doSth();
MySubnamespace\AnotherClassname::doSthElse();
它允许您使用一个命名空间中的多个类,而无需导入其中的每一个。