【问题标题】:Commenting functions with phpdoc adds "use" at the top of classes in laravel. Does it make the application slower?使用 phpdoc 注释函数会在 laravel 的类顶部添加“使用”。它会使应用程序变慢吗?
【发布时间】:2021-11-01 11:53:42
【问题描述】:

使用 phpdoc 为 Laravel 函数编写 cmets 需要添加类。例如

    /**
     * Add item to cart and redirect back
     *
     * @return Response
     */

自动将“\Illuminate\Http\Response”添加到类的顶部,如下所示:

namespace App\Http\Controllers;

use Illuminate\Http\Response;

class CartController extends Controller{

我的问题是:如果我不使用代码中的类(仅在注释中),它是否会使其(至少一点点)变慢?另一种选择是编写不包含该类的“@return \Illuminate\Http\Response”,因为它只是一个评论,它不应该有任何性能影响?非常感谢!

【问题讨论】:

  • 为什么要关心评论的表现?你没有事情要做吗?
  • 如果该类包含在类文件的“包含”部分中,我想知道该类是否实际加载。如果是 - 它会影响性能吗?
  • use 不会以任何可衡量的方式影响性能。如果你有use A\B\C;,它只是告诉 PHP 解释器“当你看到 C 我的意思是 A\B\C”,这很容易跟踪使用,例如一张地图。 use 实际上不会触发自动加载
  • @apokryfos 我有一种感觉。知道真的很有用,谢谢!

标签: php laravel performance optimization phpdoc


【解决方案1】:

从技术上讲,它不会有很大的不同。但如果您使用的是 PHP 7 或更高版本,则可以在代码本身而不是在注释中提及返回类型。它将帮助您、IDE 和编译器了解预期的内容,并且您的代码将免受动态返回的影响。所以不要这样做,

/*
 * @return Response
 */
public function index() {}

你可以的,

public function index() : Response {}

【讨论】:

  • 其中大部分是真实且良好的信息,但与 OP 的问题完全无关。唯一有任何相关性的句子(“技术上它不会有很大的不同”)是错误的!正如问题的 cmets 中所讨论的那样,它根本没有任何区别。
  • 很高兴知道这一点。谢谢你说得更清楚。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-10-05
  • 1970-01-01
  • 1970-01-01
  • 2018-04-02
  • 1970-01-01
  • 1970-01-01
  • 2017-07-17
相关资源
最近更新 更多