2012-11-08 30 views
4

我使用应用程序中使用PHP的命名空间,我认为这不是我做什么......我必须误解PHP的“使用”关键字

\MyNamespace\ClassName::MyFunction(); 

我能做

use MyNamespace; 
ClassName::MyFunction(); 

如果我在页面中多次使用该对象。这不适合我。我一直不得不使用第一种方法。

我错过了关于use的关键字?

+0

'使用\ myNameSpace对象\类名作为something' ....'东西:: MyFunction的()' – wesside

回答

4

use将基本上创建一个链接到它的论点,使用姓氏(除非另有说明)。要使用ClassName而不必指定其命名空间的时候,你必须输入以下内容:

use \MyNamespace\ClassName; 

所以,ClassName被设置为位于\MyNamespace\ClassName类型的引用。

它与Java的import的工作方式类似,不像C#的using,它导入整个名称空间。

0

你需要导入/使用精确的类名:

use MyNamespace\ClassName; 

ClassName::myFunction(); 

您还可以使用以下语法:

use MyNamespace\MySubnamespace; 

MySubnamespace\MyClassname::doSth(); 
MySubnamespace\AnotherClassname::doSthElse(); 

,它允许您使用多个类从一个命名空间,而不需要导入它们中的每一个。

0

你应该尝试这样的:

use \MyNamespace\ClassName as MyClassName; 

MyClassName::MyFunction(); 
相关问题