我想切换到laravel 5,但是在ide - autocompletion方面遇到了一些麻烦。我使用的是phpstorm。 在谷歌中,答案总是最终建议使用https://github.com/barryvdh/laravel-ide-helper。但是Laravel 5似乎已经破了。
我正在做的步骤是:
安装Laravel 5
composer create-project laravel/laravel
需要ide-helper
composer require barryvdh/laravel-ide-helper
添加了' Barryvdh \ LaravelIdeHelper \ IdeHelperServiceProvider',
....
'Illuminate\Translation\TranslationServiceProvider',
'Illuminate\Validation\ValidationServiceProvider',
'Illuminate\View\ViewServiceProvider',
'Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider',
尝试生成帮助文件
artisan ide-helper:generate
但它始终会出现以下错误:
exception 'InvalidArgumentException' with message 'There are no commands defined in the "ide-helper" namespace.' in C:\xampp\htdocs\test\vendor\symfony\console\Symfony\Component\Console\Application.php:501
0 C:\xampp\htdocs\test\vendor\symfony\console\Symfony\Component\Console\Application.php(535): Symfony\Component\Console\Application->findNamespace('ide-helper')
1 C:\xampp\htdocs\test\vendor\symfony\console\Symfony\Component\Console
\Application.php(192): Symfony\Component\Console\Application->find('ide-helper:gene...')
2 C:\xampp\htdocs\test\vendor\symfony\console\Symfony\Component\Console\Application.php(126): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Outpu
t\ConsoleOutput))
3 C:\xampp\htdocs\test\vendor\laravel\framework\src\Illuminate\Foundation\Console\Kernel.php(91): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Out
put\ConsoleOutput))
4 C:\xampp\htdocs\test\artisan(36): Illuminate\Foundation\Console\Kernel->handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
5 {main}
也许有人有同样的问题,可以帮助我。 除了barryvdh的ide-helper之外,我还会为自动完成提供不同的解决方案。
答案 0 :(得分:13)
我遇到了同样的问题并修复了它:
在运行php artisan ide-helper:generate
命令之前,请务必php artisan clear-compiled
和php artisan optimize
注明here。如果这没有解决您的问题,请查看this并通过选择以下内容清除PhpStorm缓存:
文件|使高速缓存/重新启动无效
自动重启后,PhpStorm将再次编制索引,一切正常。
抱歉我的英语不好。
已编辑:执行这些步骤后,导入您的Facades use Illuminate\Support\Facades\Auth
将其链接到_ide_helper.php
文件中,如use Auth
。
答案 1 :(得分:3)
我遇到了同样的问题。这些是我修复它的步骤:
'Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider'
是否已正确添加到providers
中的config/app.php
数组。artisan clear-compiled
。没有效果执行php artisan config:clear
解决了问题。
答案 2 :(得分:1)
未加载包ServiceProvider时会发生此错误。
如果您有多个配置文件(例如针对不同的环境),则必须确保在使用该软件包的所有环境中完善服务提供程序。
config/
local/
app.php
app.php
要验证服务提供商是否已正确设置到您的应用程序,您可以转储应用程序配置:
dd(\Config::get('app.providers'));
答案 3 :(得分:1)
试试这个:
php artisan ide-helper:generate
答案 4 :(得分:-1)
截至本月,这是updated gist。我已经测试了它,它可以在PHPStorm中运行。
此外,您不必通过composer安装它。复制要点并将其保存在根文件夹中_ide_helper.php
。