为什么 PhpStorm 2019.3 强制我在 Route::get() Laravel 中使用静态闭包而不是非静态闭包

Why PhpStorm 2019.3 is enforcing me to use static closures instead of non-static in Route::get() Laravel

提问人:Danish Mehmood 提问时间:12/27/2021 最后编辑:LazyOneDanish Mehmood 更新时间:12/27/2021 访问量:81

问:

我曾经用 Laravel 编写代码,而且我非常擅长。

我已经从 VSCode 迁移到 PhpStorm 2019.3,它正在强制我,就像它在内部有语言功能的意图一样,它给了我一条小警告消息,您应该将此闭包方法声明为静态。

我知道 PhpStorm2019.3 完全支持 PHP 7.4。所以,问题是,我是否应该始终创建像静态这样的闭包函数

Route::get('/', function () {
    return view('posts', [
        'posts' => Post::all()
    ]);
});

// without static closure
Route::get('/posts/{post}', function (Post $post) {
    return view('post', [
        'post' => $post
    ]);
});

// with static closure
Route::get('/posts/{post}', static function (Post $post) {
    return view('post', [
        'post' => $post
    ]);
});

这是好的做法还是坏的做法?因为我发现 PhpStorm 是世界上最好的 IDE for PHP 和 Laravel 开发人员。

PHP 路由 闭包 phpstorm 检查

评论

1赞 LazyOne 12/27/2021
1)请出示带有此类警告的消息的屏幕截图。完整的消息。因为我相信这个检查来自一个自定义插件,而不是直接来自 PhpStorm 核心本身。2)是的,在这里使用是有道理的,PHP中的性能/内存使用率更好(尽管由于它没有在类中定义,因此在这里可能不会有太大区别)。附言如果您想了解更多信息,请使用谷歌翻译: habr.com/ru/post/561550 P.P.S 最新的 PhpStorm 版本是 2021.3static
0赞 Danish Mehmood 12/27/2021
@LazyOne,是的,我添加了两个自定义插件 Laravel 和 laravel_idea,我无法发布具有当前 stackoverflow 声誉的屏幕截图,是的,它还向我展示了它将节省内存并且具有更好的性能。每当我添加路由时,我都应该添加静态吗?

答: 暂无答案