PHP / OOP使用Classname vs直接使用NameSpace \ Classname

时间:2017-12-14 04:57:52

标签: php laravel performance

请考虑以下代码。

Code1:

<?php
use App\User;

class SomeController {

    public function getUsers()
    {
        return User::all(); 
    }
}

代码2:

<?php
class SomeController {

   public function getUsers()
   {
      return \App\User::all();
   }
}

我很困惑这两者对它的表现有多大影响。我知道第一种编码方式似乎是更好/更好的方式,但如果我只想在我的控制器上使用一次User类呢?对于单用课程,哪个是更好的选择?

1 个答案:

答案 0 :(得分:1)

就个人而言,如果我知道我将使用一次类引用,我会使用完整的引用 in-situ 并忘记useuse的好处是,如果一个类被多次引用,那么如果使用use则更容易重命名类名或命名空间(因为修复的引用较少)。

我希望不会有这样或那样的性能改进,如果有的话,那将是一个微不足道的改进,更好的服务器将是实现这些速度优势的更简单方法。我倾向于主张不要试图以这种方式来改进性能改进,因为它鼓励降低可读性而不是太小而不显眼的好处。

这种考虑也可能是过早优化,即一种优化会浪费工程上的努力,而这种优化实际上并不是一个问题(无论是现在还是将来)。对here进行了很好的讨论。