首页  >  文章  >  后端开发  >  为什么 Intelephense 会报告 Laravel 中未定义符号的误报?

为什么 Intelephense 会报告 Laravel 中未定义符号的误报?

Barbara Streisand
Barbara Streisand原创
2024-11-12 05:54:01499浏览

Why Is Intelephense Reporting False Positives for Undefined Symbols in Laravel?

Visual Studio Code PHP Intelephense 持续显示不必要的错误

PHP 语言服务器 Intelephense 最近引入了一项更改,现在报告未定义的符号之前被忽略了。虽然此增强功能提高了代码分析的准确性,但它可能会导致某些框架出现虚假错误。

例如,Laravel 路由经常触发此类误报。下面的代码说明了这个问题:

Route::group(['prefix' => 'user', 'namespace' => 'Membership', 'name' => 'user.'], function () {
    Route::get('profile', 'ProfileController@show')->name('profile.show');
    // ...
});

在此示例中,Intelephense 将“ProfileController”标记为未定义符号,尽管它在 Laravel 的路由系统中已正确定义。要解决此问题,请考虑以下选项:

  • 使用存根生成器: 像 Laravel 这样的框架可以受益于使用存根生成器(例如 barryvdh/laravel-ide-helper),提供符号的具体定义,减少误报。
  • 配置 Intelephense 设置:为了进行更精细的控制,Intelephense 1.3.3 引入了配置选项,允许您禁用特定类别的未定义符号诊断。通过将除“undefinedVariables”之外的所有选项设置为“false”,您可以恢复到 1.2 版本的行为,其中仅报告未定义的变量错误。

以上是为什么 Intelephense 会报告 Laravel 中未定义符号的误报?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn