我使用PHP Storm v8.0.3和最新版本的Laravel。
我无法完成自动完成工作。
如上图所示。
我已按照他在git上提供的自述文件安装了barryvdh ide-helper。我在安装过程中没有收到任何错误。
我已将其作为
包含在providers
数组中
'Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider'
或
Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider:class
它没有任何区别(据我所知)。
我还安装了Laravel插件。
再次,没有区别,仍然没有自动完成。
我尝试转储配置文件导致:
array:27 [▼
...
22 => "Illuminate\View\ViewServiceProvider"
23 => "Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider"
24 => "App\Providers\AppServiceProvider"
...
]
我真的坚持这个。我不知道会出现什么问题。任何朝着正确方向的推动都非常感激。
答案 0 :(得分:10)
对此有两种可能的解决方法:
答案 1 :(得分:3)
这篇文章让我选择了PHPStorm 2016.1.2,但它比它大一年了,所以我想它可以用于旧版本。
https://blog.jetbrains.com/phpstorm/2015/01/laravel-development-using-phpstorm/
可能缺少的唯一细节,我在插件GitHub链接上找到了它们:
更新作曲家后,将服务提供商添加到
config/app.php
中的Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,
数组中php artisan ide-helper:generate
class RemoteControlService extends NotificationListenerService implements RemoteController.OnClientUpdateListener
注意:必须首先清除bootstrap / compiled.php,所以在生成之前运行php artisan clear-compiled(以及之后的php artisan optimize)。
答案 2 :(得分:2)
除了IDE Helper之外,您还必须在PHPStorm中启用每个项目的Laravel插件。
Laravel Plugin
Enable plugin for this project
答案 3 :(得分:0)
我尝试了所有的答案,但在我为模型自动填充doctrine/dbal
后,代码自动完成开始工作,因为模型的自动phpDocs添加了@mixin \Eloquent
,这样就可以了;)
步骤进行:
https://github.com/barryvdh/laravel-ide-helper
Require this package with composer using the following command:
composer require barryvdh/laravel-ide-helper
After updating composer, add the service provider to the providers array in config/app.php
Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,
php artisan clear-compiled
php artisan ide-helper:generate
php artisan optimize
You can configure your composer.json to do this after each commit:
"scripts":{
"post-update-cmd": [
"Illuminate\\Foundation\\ComposerScripts::postUpdate",
"php artisan ide-helper:generate",
"php artisan ide-helper:meta",
"php artisan optimize"
]
},
composer require doctrine/dbal
php artisan ide-helper:models