2015-06-09 7 views
8

Ich verwende PHP Storm v8.0.3 mit der neuesten Version von Laravel.PHPSstorm Auto-Vervollständigung funktioniert nicht mit Laravel 5

Ich habe Probleme mit der automatischen Vervollständigung.

enter image description here

Wie Sie im Bild oben sehen kann.


Ich habe barryvdh ide-helper installiert, nach der readme er auf Git zur Verfügung stellt. Ich habe während der Installation keine Fehler erhalten.

enter image description here

Ich habe es in der providers Array enthalten entweder als

'Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider'

oder

Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider:class

Es keinen Unterschied machen, hat (soweit ich kann sagen).

Ich habe auch das Laravel-Plugin installiert.

Auch hier kein Unterschied, immer noch keine Auto-Vervollständigung.

enter image description here

Ich habe versucht, die Konfigurationsdatei Dumping, die in Folge:

array:27 [▼ 
... 
    22 => "Illuminate\View\ViewServiceProvider" 
    23 => "Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider" 
    24 => "App\Providers\AppServiceProvider" 
... 
] 

ich wirklich auf diesen einen bin stecken. Ich habe keine Ahnung, was falsch sein könnte. Jede Bewegung in die richtige Richtung wird sehr geschätzt.

Antwort

10

Zwei mögliche Lösungen dafür:

  1. Machen Sie Ihre Modelle, die \ Eloquent Fassade statt Illuminate \ Database \ Eloquent \ Modell erweitern.
  2. Wenn Sie die "Model" Fassade halten bevorzugen, können Sie Ihren eigenen Aliasnamen in config/app.php machen, dann "eloquent" auf "Modell" in der config/ide-helper.php unter extra. Dadurch kann der ide-helper alle Methoden von Illuminate \ Database \ Eloquent \ Builder und Illuminate \ Database \ Query \ Builder einschließen, wo die fehlenden Methoden tatsächlich leben.

(Quelle: https://laracasts.com/discuss/channels/general-discussion/phpstorm-thinks-modelwhere-doesnt-exist-on-model-l5/replies/37661)

+0

I Werde versuchen, sobald ich eine Chance habe. – Andrew

+0

@Andrew, irgendwelche Fortschritte damit? Bitte akzeptieren Sie meine Antwort, wenn Sie können :) –

+0

Funktioniert wie ein Charme! Vielen Dank. Ich weiß nicht, warum ich alle meine Models "Model" erweitert habe. (Hat das Standard-Laravel-Modell das?) Wie auch immer, \ Eloquent macht den Trick und speichert auch einen Import der Model-Klasse. –

1

Neben der IDE-Helfer, müssen Sie das Plugin Laravel pro-Projekt in PhpStorm ermöglichen.

  1. Voreinstellungen öffnen.
  2. Navigieren Sie zu Laravel Plugin
  3. prüfen Enable plugin for this project
1

Dieser Artikel hat mich mit PhpStorm gehen 2016.01.02, aber es ist ein Jahr älter, so nehme ich es mit älteren Version arbeiten würde.

https://blog.jetbrains.com/phpstorm/2015/01/laravel-development-using-phpstorm/

Die einzigen Details, die wahrscheinlich fehlen, ich fand sie auf dem Plugin GitHub Link:

Nach Komponist aktualisieren, fügen Sie den Service-Provider in die providers Array in config/app.php Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,

php artisan ide-helper:generate

Hinweis: bootstrap/compiled.php muss zuerst gelöscht werden, also führe php artisan clear-compiled vor dem Generieren aus (und php artisan optimize nach).

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

0

ich alle Antworten versucht, aber nachdem ich doctrine/dbal für die automatische PHPDocs für Modelle umfassen, starten Sie den Code zur automatischen Vervollständigung, weil die automatische PHPDocs für Modelle arbeiten, um die @mixin \Eloquent und das hinzugefügt der Trick und mehr;)

Schritte:

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 
Verwandte Themen