【发布时间】:2021-04-12 02:25:28
【问题描述】:
在 PHP 中有两种使用命名空间类的方法:
使用导入 (use) 声明:
use The\Class\NameSpace\MyClass;
...
public function myFunction(MyClass $myClass) {
// Things to do
}
每次使用类时都使用完全限定名:
public function myFunction (\The\Class\NameSpace\MyClass $myClass) {
// Things to do
}
在性能方面,哪种方法更好?
【问题讨论】:
-
我会考虑哪个更易读,哪个更快。如果你多次使用同一个类 - 你可以(理论上)使用不同的类 - 所以这取决于你的情况(恕我直言)。
-
在性能方面,为什么不对其进行基准测试并告诉我们
-
PHP 代码编译成opcodes that are understandable to the Zend virtual machine (VM)。无需过多介绍:从 VM 的角度来看,这两种方法是等效的。
-
我同意@KIKOSoftware 的评论,这应该变成答案。从技术上讲,如果您没有在顶部使用
namespace声明,并且您在整个文件中对类使用 FQN 数百或数千次,则文件会逐字节增大,这可能会影响性能来自一个直接的解析器,但仅此而已。
标签: php performance class oop namespaces