我使用PhpStorm 2018.1.4。我安装了软件包laravel-ide-helper。这使PhpStorm可以查看模型方法,但看不到Laravel帮助程序提供的任何链接方法。例如,我在控制器中有以下代码:
return response()->file($path,['content-type' => 'application/pdf']);
PhpStorm对我说:
在\ Illuminate \ Contracts \ Routing \ ResponseFactory | \ Illuminate \ Http \ Response中找不到方法“文件”。
如何解决?
UPD:当然,在安装软件包之后,我运行了the artisan命令:
php artisan ide-helper:generate
php artisan ide-helper:meta
答案 0 :(得分:3)
仅安装laravel-ide-helper
不会执行任何操作。您需要运行artisan命令来生成phpstorm将使用的文件。
php artisan ide-helper:generate
和
php artisan ide-helper:meta
将帮助phpStorm自动完成。
更新:由于已执行这些操作,因此实际的问题是laravel结构问题:
file()
中实际上不存在辅助程序ResponseFactory
(response()
返回了ResponseFactory
的结果),因此IDE辅助程序无法映射到它。
file()
确实存在于立面中,因此,如果您要这样做:
\Response::file($path,['content-type' => 'application/pdf'])
,它将自动完成。
这是一种变通方法,但是除非将file()
添加到laravel级别的响应工厂中,否则没有太多的ide帮助程序或phpstorm可以做。