opensource software

Symfony2 Plugin

Products: IntelliJ IDEA, PhpStorm

Vendor: Daniel Espendiller






Symfony2 plugin. Documentation | Doc on GitHub | Donate
  • Active plugin per project in Settings -> Plugins and reopen project
  • (Optional) Install PHP Annotations
Open Api Issues
  • Twig block name completion "{% block foo %}" WI-24362
  • Bug for all php types on clean cache WI-23727; our issue #287: doctrine repository+entity, twig, ...
Features: Dependency Injection Container
  • References for services in ContainerInterface::get()
  • Detect ContainerInterface::get() result type
  • References for services, tags, events, methods, ... inside yaml, xml and php
  • Indexer to provide live editing without a compiled container
  • Tagged class indexer
  • ORM QueryBuilder support, including chaining and nested methods
  • References and TypeProvider for doctrine getRepository
  • TypeProvider for EntityRepository::find/findOneBy/findAll/findBy
  • Field and relations resolving and annotation and yaml
  • Template names in all file references
  • Provide Template implements and extends goto on linemarker
  • Assets file references like javascript, stylesheets and more
  • Support @Template annotations
  • Trans and transchoice support with annotator, quickquick and translation extraction action
  • References for block names (completion back since PhpStorm8)
  • Variable TypeProvider similar to php with several scopes and providers like docblocks, controller, actions, template inclusion, ...
  • Macro implements goto on linemarker
  • Filter, Function, Macro and Extension support
  • References for form types
  • Form field name references on data_class
  • References for form options, extension, ...
  • References for UrlGenerator::generate() related calls
  • Autocomplete route name in twig templates
  • Go to for routing name methods
  • CodeFolding to display real route uri instead of its name
  • Route parameter completion
  • Annotator which notice unknown route, template, service, assets, ...
  • Several stub indexer to provide some live generation provider in replacement for compiled container
  • Linemarker and "Related File" to provide possible goto targets and controller action
  • Search Everywhere support and custom search for only Symfony2 related Symbols "Navigate > Symfony2 Symbol"
  • Bridge for PHP Annotations to support annotation related stuff
Related Plugins Contributors
Downloads: 988976
Participated in rating: 35
Version Since Build Until Build File/URL Size (Kb) Date Details
0.11.79. 138. . Download 1337 2014-12-07 18:14:24 details
0.10.77. 130.1. . Download 1341.05 2014-11-09 16:55:43 details
0.9.26. 129.713. . Download 629.2 2013-10-26 11:13:15 details
0.9.6. 129.196. . Download 315.84 2013-06-17 20:02:27 details
. .
109 updates are hidden show all updates
Screenshot #14562
Screenshot #14172
Screenshot #14511
Screenshot #14167
Screenshot #14173
Screenshot #14191
Screenshot #14166
Screenshot #14332
Screenshot #14190
Screenshot #14584

Recent change notes:

0.11.x: PhpStorm 8
0.10.x: PhpStorm 7 (no support)
0.9.x: PhpStorm 6 (no support)

  • Refactoring routing handling and prepare multiple route files #138
  • Smarter route name resolve on indexed names #392, #376, #365
  • Add doctrine 2.5 cache methods for class / repository completion #203
  • Fixing IndexNotReadyException and "Read access is allowed" for eap changes #370, #383
  • Add twig embed tag indexer
  • Support "include()" function and "embed" tag in twig variable collector
  • Experimental: Add postfix completion #389
  • Add more possible twig variables syntax from php files
  • Add navigation for twig var doc
  • Fix error on non unique class name completion in xml, yaml and twig #387
  • Remove grouping for code folding, to make strings independent from each other
0.10.77 / 0.11.77
  • Add weak routes in controller action related popover
  • Add index for twig file php usage in render* methods and add variable collector
  • Fix for new yaml SCALAR_STRING / SCALAR_DSTRING lexer changes in service instance annotator
  • Fix max depth check in getTwigChildList #360
  • Fix possible recursive calls in twig variable includes #360
  • Note: last version for PhpStorm7!
0.10.76 / 0.11.76
  • Implement docblock "@var" for twig variables, shortcut without tag is deprecated Doc
  • Optimize xlf navigation and references; better getDomainFilePsiElements translation performance
  • Provide a global class::method[Action] yaml navigation, usable inside Drupal
  • Translation extractor supports text selection
  • Provide shortcut completion with function insertHandler for twig tags: href, src (css/js)
  • Improve overall support for routes; better xml parser, more data and nicer completion #369
  • Fix possible npe in PhpEventDispatcherGotoCompletionRegistrar
  • Fix service completion in single quote yaml string values to reflect PhpStorm lexer changes; eg Drupal code convention
  • Fix regular expression for trans and transchoice to support more cases #377; also fix some whitespace issues
  • Fix npe in NewControllerAction on non bundle context #378
0.10.75 / 0.11.75
  • Add twig constants navigation, completion and folding #327
  • Add references for array methods inside EventSubscriberInterface returns
  • Add detection for "kernel.event_subscriber" tag on service builder #352
  • Add indexer and references for xliff translations
  • Quickfix for missing template will generate "block" and "extends" on directory context
  • Better completion for class names in yaml and xml #337
  • Fix twig missing translation domain pattern on nested filters #255
  • Fix out of range exception in querybuilder parameter completion #371
0.10.74 / 0.11.74
  • Add button in Settings to clean up plugin related indexes
  • Add new isEnabledForIndex check, to not force a manually re-indexing for new projects after enabling plugin
  • Add references for array methods inside EventSubscriberInterface returns
  • Add completion for parameter in doctrine querybuilder "where" context
  • Add support for variadic functions on doctrine querybuilder selects #357
  • Our heart method "isCallTo" now supports classes and methods instance checks which are not unique in project
  • Cleanup quote wrapping in routes key names of yaml files
  • Fix npe in annotation template collector #358
  • Fix npe in yaml parameter completion #359
  • Fix npe in symbole search for non project context #268
  • Fix out of range case in getParameterDefinition #368
0.10.73 / 0.11.73
  • Fix npe in container parameter completion #351
  • Add route requirements and options completion for yaml files
0.10.72 / 0.11.72
  • Replace Form array options references with goto provider for performance improvements
  • Support service container in library paths #347
  • Use indexer for service parameter references to support weak file
0.10.71 / 0.11.71
  • Fix whitespace pattern in twig function pattern #340
  • Fixed typo in service generator "tags" should be "tag" on xml files #338
  • Add extension point for controller actions related files
  • Add extension point for GotoCompletionRegistrar
  • Replace PsiReference for form type with GotoCompletionRegistrar #313
0.10.70 / 0.11.70
  • Add linemarker for doctrine targetEntity relations
  • Add doctrine query expr parameter completion
  • Add support for querybuilder "from" index parameter #322
  • Add completion for doctrine querybuilder alias in "createQueryBuilder" and "from" parameter
  • Fix template file resolving for twig "app" resources
0.10.69 / 0.11.69
  • Reworked twig template name resolving, for massive performance improvements #321
  • Fix possible npe in TagReference inside php #331
  • Hide first parameter in tail completion of twig extensions if its a Twig_Environment type hint #314
  • Support twig file bundle overwrite in app folder #275
  • Add reference provider for twig "block" function #266
  • Provide "form" fallback on unknown from type and support nested strings #325
  • Whitelist ".mongodb.yml" for controller related files
  • 0.11: Use NavigationUtil for popups to fix eap api changes #329
0.10.68 / 0.11.68
  • Provide weak form extension option completion #317
  • Speedup form option completion #318
  • Add new custom abstract reference replacements for deprecated getVariants #313
  • Add weak doctrine namespaces on bundle names #316
  • Add twig macro statement scope resolve for variables #315
  • Add some missing retina icons #312
0.10.67 / 0.11.67
  • Add array completion for constraints constructor #304
  • Add support for twig.extension and form.type_extension in service generator #308
  • Add bundle controller path to resource completion whitelist #307
  • Map entity class with orm.yml file as linemarker #309
  • Add current namespace resolving for yaml targetEntity #305
  • Add class linemarker for yaml entities
  • Add doctrine entity column names as lookup tail text in querybuilder completion
0.10.66 / 0.11.66
  • Add weak tag references for xml and yaml container files
  • 0.11.x: build against eap to resolve StringPattern#oneOf issues #299
  • 0.11.x: reflect renaming of GotoRelatedFileAction #297
  • Allow window path style in twig template names #296
  • Add service indexer for tags in xml and yaml container files #282
  • Add weak form types on new service tag indexer #282
  • Add completion for repositoryClass in yaml
  • Add completion for mappedBy and inversedBy in yaml
  • Add referencedColumnName references for yaml and annotations
  • Completely remove static doctrine yaml mapping list and use annotations fields
  • Fix annotation targetEntity condition
  • Prettify form field completion
  • (Pls be careful on next PhpStorm 8 eap update!)
  • Add completion for form alias tag in xml and yaml container files
  • Support for yaml sequences in arguments instance annotator
  • Service creator adds form alias as tag where possible #281
  • Fix typo inside querybuilder resolver for oneToOne relations
  • Add support for routes in xml files
  • Provide twig context variables for include statements
  • Fix some whitespace documents issue in yaml files
  • Add support for doctrine id orm mapping of yaml files
  • Add support for yaml CompoundValues inside routes action linemarker #289
  • Fix that yaml files starting with whitespace not indexed for routes and services files
  • Fix cast error on php array variables of twig types provider #290
  • Fix translation annotator to not highlight compiled elements #262
  • Fix non reload of translations which are outside PhpStorm index #262
  • Add per translation file change indicator #262
  • Cache twig file linemaker per file change request
  • Add linemaker for routes in yaml
  • Add duplicate key inspection for container files of yaml and xml
  • Add duplicate route name inspection for yaml file
  • Add extensions for type and reference provider
  • Add instance check annotator for service classes of xml arguments
  • Add goto for parameter definition inside yaml and xml
  • Refactoring of xml service container references to provide many improvements in completion and navigation
  • Remove regular expressions from Twig_Extensions parser and use internal lexer to support more use cases
  • Add tail text for all Twig extensions and improve navigation
  • Add completion for yaml config root keys
  • Fix npe in config completion #284

open full changelog

General usage instructions:

Note that the plugin uses the app/cache/dev/appDevDebugProjectContainer.xml file to know services' class, so this file has to exists and/or be up to date :-) Also note that you need the latest PHPStorm EAP build, download at


2014-11-06 19:04:23
Superb. Second place in plugin top 10 downloads!!! Keep it up!
2014-10-06 14:23:24
A+ Plugin Keep upgrading it!
2014-09-26 16:05:38
This is a wonderfull plugin, cant imagine working with Symfony without this plugin. It would be really nice to see auto complete in YML file and click to jump options as well/
2014-08-13 12:04:32
This plugin is so awesome! Thank you for this great tool :)
2014-07-16 19:46:48
great plugin !!! but missing option to jump into controller by clicking route inside yml routing file if you'll add it, it would be perfect :)
2014-06-01 16:09:52
Excellent plugin! And it keeps getting better and better!
2014-04-15 01:31:14
2014-04-03 22:31:11
2014-03-09 14:33:12
this is the best plugin for symfony2 ever seen
2013-12-19 14:53:53
Thanks a lot!!!
2013-10-29 15:53:07
This is absolutely awesome. Changed my life!
2013-09-27 14:18:53
How to remove the service icon?
2013-09-17 16:29:34
Can you provide example to run this plugin in php storm for php controller to view?
2013-08-25 01:29:59
2013-08-05 19:43:16
A really useful addon for Symfony2 developers. Saves a lot of time.