在我今天得到的PHP Intelephense的最新更新之后,Intelephense一直显示我的路由(和其他类)的未定义符号的错误,以前没有这样的错误,它困扰着我。

以下是错误截图:

这是我的代码:

Route::group(['prefix' => 'user', 'namespace' => 'Membership', 'name' => 'user.'], function () {
    Route::get('profile', 'ProfileController@show')->name('profile.show');
    Route::patch('profile', 'ProfileController@update')->name('profile.update');
    Route::patch('change-password', 'ChangePasswordController@change')->name('change-password');
    Route::get('role', 'ProfileController@getRole')->name('profile.role');
    Route::get('summary', 'SummaryController@show')->name('summary');
    Route::get('reserved', 'AuctionController@reservedAuction')->name('reserved');
});

实际上,这段代码中没有错误,但intelephense一直显示错误,所以有办法解决这个问题吗?


当前回答

1.3.1固定它。

只要更新你的扩展,你应该是好的去

其他回答

如果您知道您的问题仅限于Facades,并且您正在运行Laravel 5.5或更高版本,那么这个解决方案可能会对您有所帮助。

安装laravel-ide-helper

编译器需要——dev barryvdh/ laravell -ide-helper

在AppServiceProvider中添加这个条件语句来注册helper类。

public function register()
{
    if ($this->app->environment() !== 'production') {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}

然后运行php artisan IDE -helper:generate生成一个文件来帮助IDE理解Facades。您需要重新启动Visual Studio Code。

参考文献

https://laracasts.com/series/how-to-be-awesome-in-phpstorm/episodes/16

https://github.com/barryvdh/laravel-ide-helper

我也有同样的问题,下面的内容似乎已经解决了这个问题。

a)更新至最新版本1.3.5,并重新启用所有诊断设置。

我还在接收信息

b)将带有依赖库的vendor文件夹添加到工作区

这似乎解决了问题。

这实际上是一组用于编辑器理解Laravel的配置。

如果您想手动配置它,这里是repo。这是为vscode和PhpStorm。

或者如果你愿意,你可以下载这个包。(我创建的)建议全局安装。

然后运行andylaravel setupIDE。这将根据第一个repo为您配置所有内容。

在v1.7.1中也有同样的问题。它在内置函数上显示错误。但刚刚发现解决方案:去扩展设置@ext:bmewburn。vcode - Intelephense -client并逐个禁用Intelephense›Diagnostics:您将看到错误显示将停止。

1.3.1固定它。

只要更新你的扩展,你应该是好的去