Laravel Plugin für PhpStorm

So, 23.11.2014 - 13:08 -- Daniel Espendiller

laravel blade section phpstormMit PhpStorm8 wurde Support für die Blade Template Enigne vom Laravel Framework eingebunden. Eines der am meisten gewünschten Features der PhpStorm Community, anhand des Issue System.
Dieser Support bietet allerdings reine Language Syntax Unterstützung. Framework spezifische Features enthält dieses Implementierung nicht. Bei der Nutzung Populärstes Framework 2014 | PHP Magazin, sollte es jedoch eine gewissen Beachtung verdient. Mittlerweile stelle ich dafür ein entsprechendes Plugin im PhpStorm Repository bereit. Laravel basiert zu großen Teilen auf den Symfony2 Komponenten, somit finden sich hier auch viele Features vom Symfony2 Plugin wieder.

Features und Komponenten

  • Erweiterter Blade Template Support: linemarker, navigation
  • Routing und Controller
  • Translations
  • Config

Installation

  • To install, go to Settings > Plugins and search for "Laravel Plugin"
  • Once installed, you must activate per-project by going to Settings > Laravel Plugin and clicking "Enable for this project"
  • Note Currently, you must install and use the Laravel IDE Helper in order for PHPStorm to know how to find the Laravel classes.

Disqus - noscript

Also I suggest to look at Codelobster +Laravel plug-in: http://www.codelobster.com/lar...

Got this error on PHPStorm 10 and Laravel 4

com.jetbrains.php.lang.psi.elements.impl.MethodReferenceImpl cannot be cast to com.jetbrains.php.lang.psi.elements.impl.FunctionReferenceImpl

java.lang.ClassCastException: com.jetbrains.php.lang.psi.elements.impl.MethodReferenceImpl cannot be cast to com.jetbrains.php.lang.psi.elements.impl.FunctionReferenceImpl

at de.espend.idea.laravel.dic.DicTypeProvider.getType(DicTypeProvider.java:45)

at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo$1.internalCompute(PhpTypeInfo.java:43)

at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo$1.internalCompute(PhpTypeInfo.java:37)

at com.intellij.openapi.util.Computable$NotNullCachedComputable.compute(Computable.java:52)

at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)

at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)

at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo.getType(PhpTypeInfo.java:37)

at com.jetbrains.php.lang.psi.elements.impl.PhpReferenceImpl.getType(PhpReferenceImpl.java:207)

at com.jetbrains.php.lang.inspections.PhpVoidFunctionResultUsedInspection.analyzeCall(PhpVoidFunctionResultUsedInspe...:49)

at com.jetbrains.php.lang.inspections.PhpVoidFunctionResultUsedInspection.access$000(PhpVoidFunctionResultUsedInspe...:23)

at com.jetbrains.php.lang.inspections.PhpVoidFunctionResultUsedInspection$1.visitPhpMethodReference(PhpVoidFunctionResultUsedInspe...:41)

at com.jetbrains.php.lang.psi.elements.impl.MethodReferenceImpl.accept(MethodReferenceImpl.java:29)

at com.intellij.codeInspection.InspectionEngine.acceptElements(InspectionEngine.java:81)

at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass$4.process(LocalInspectionsPass.java:320)

at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass$4.process(LocalInspectionsPass.java:315)

at com.intellij.concurrency.ApplierCompleter.c(ApplierCompleter.java:122)

at com.intellij.concurrency.ApplierCompleter.a(ApplierCompleter.java:211)

at com.intellij.concurrency.ApplierCompleter.c(ApplierCompleter.java:140)

at com.intellij.concurrency.ApplierCompleter.a(ApplierCompleter.java:211)

at com.intellij.concurrency.ApplierCompleter.c(ApplierCompleter.java:140)

at com.intellij.concurrency.ApplierCompleter.a(ApplierCompleter.java:211)

at com.intellij.concurrency.ApplierCompleter.c(ApplierCompleter.java:140)

at com.intellij.concurrency.ApplierCompleter.access$000(ApplierCompleter.java:44)

at com.intellij.concurrency.ApplierCompleter$1.run(ApplierCompleter.java:85)

at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1177)

at com.intellij.concurrency.ApplierCompleter$2.run(ApplierCompleter.java:94)

at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:446)

at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:443)

at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:392)

at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:54)

at com.intellij.concurrency.ApplierCompleter.a(ApplierCompleter.java:106)

at com.intellij.concurrency.ApplierCompleter.compute(ApplierCompleter.java:82)

at jsr166e.CountedCompleter.exec(CountedCompleter.java:684)

at jsr166e.ForkJoinTask.doExec(ForkJoinTask.java:260)

at jsr166e.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:858)

at jsr166e.ForkJoinPool.scan(ForkJoinPool.java:1687)

at jsr166e.ForkJoinPool.runWorker(ForkJoinPool.java:1642)

at jsr166e.ForkJoinWorkerThread.r...(ForkJoinWorkerThread.java:108)