如果我只需要在代码中使用:: class属性,是否应该像这样导入整个类?
use my\namespace\MyClass;
MyClass::class;
还是我应该这样做?
my\namespace\MyClass::class;
哪个是更快/更好的解决方案?还是没有区别? 如果需要的话,我正在使用Yii2框架
答案 0 :(得分:4)
没有区别,仅是代码风格的问题。两种变体生成相同的操作码,因此它们的工作原理相同,并且两者之间没有性能差异。您可以使用更适合您的版本,但是使用use
语句导入类具有一些优点:
my\namespace\MyClass
而在其他地方some\vendor\namespace\MyClass
则没有风险。git blame
中无意义的更改)。my\namespace\MyClass
而不是some\vendor\namespace\MyClass
”)和体系结构问题(“嗯,此文件中导入了60个类,也许它的职责太多了……”。)答案 1 :(得分:0)
两者都是有效的并且可以正常工作,但是为了简单起见,您可以在一行中声明它
my\namespace\MyClass::class;