opensource software

Symfony2 Plugin

Products: IntelliJ IDEA, PhpStorm

Vendor: Daniel Espendiller






Symfony2 plugin. Documentation | Doc on GitHub | Donate
Feature blocker:
  • twig filter support WI-19022
  • phpstorm7: dropped twig block name completion WI-20266
Features: Dependency Injection Container
  • Autocomplete service id in ContainerInterface::get() calls
  • Clickable service id in ContainerInterface::get() first argument
  • Detect ContainerInterface::get() result type and thus provide autocomplete
  • Autocomplete and click to go to, service ids inside services.yml/xml
  • Click to go services class inside services.xml
  • Autocomplete container parameters in php/xml/yaml
  • Autocomplete class and parameters
  • Autocomplete ORM\XXX annotations and properties
  • Autocomplete some key and values inside doctrine .orm.yml configurations
  • Autocomplete doctrine getRepository argument
  • Go to entity class on getRepository argument
  • Detect getRepository() result type
  • Detect EntityRepository::find/findOneBy/findAll/findBy result type
  • Autocomplete template name in render() calls
  • Clickable template name in render() calls
  • Autocomplete template name in twig templates
  • Clickable template name in twig templates
  • Autocomplete assets in twig asset()/{% javascript/{% stylesheets
  • Go to assets file in twig asset()/{% javascript/{% stylesheets
  • Autocomplete twig files in @Template annotations
  • Go to twig file on @Template annotation
  • Autocomplete for translation in trans
  • Action for @Template
  • Autocomplete and go to for block tag
  • Variable resolve on php types with scope, providers and doc block support
  • Autocomplete route name in UrlGenerator::generate() calls
  • Autocomplete route name in twig templates
  • Go to for routing name methods
  • Autocomplete and go to for translation in trans twig and translate php
  • FormTypes in FormBuilder
  • PHP Class Autocomplete in yaml and xml
  • Some basic Annotation support
  • Annotator which notice unknown route, template, service, assets, ...
Related Plugins Contributors
Downloads: 393001
Participated in rating: 30
Version Since Build Until Build File/URL Size (Kb) Date Details
0.10.53. 130.1. . Download 1014.9 2014-04-09 21:50:31 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
. .
74 updates are hidden show all updates
Screenshot #14172
Screenshot #14191
Screenshot #14332
Screenshot #14173
Screenshot #14190
Screenshot #14166
Screenshot #14167

Recent change notes:

0.9.x: PhpStorm 6
0.10.x: PhpStorm 7

  • Fix slow index on large files #261
  • Fix weak route annotation goto
  • Globally use weak service and route index #261
  • Add new weak annotator for routes and services
  • Add route name indexer for annotation
  • Add custom index keys processor for filter them in project context
  • Add extension point to load custom doctrine model classes
  • Fix annotate blank string values
  • Remove duplicate from type completion #260
  • Add twig macro name indexer
  • Add macro include/from indexer and add implements linemarker
  • Add custom "Symfony2 Symbol" search (Navigate > Symfony2 Symbol) in replacement for toolwindow #229 (pls report possible keyboard shortcuts :) )
  • Add twig macro and service index to symbol search
  • Allow null keys in all index related stuff to temporary fix #238
  • Strip quoted values inside yaml container indexer
  • Add twig include indexer
  • Add twig linemarker for includes
  • Add translation key and domain indexer
  • Rewrite and refactoring of all translation related stuff
  • Make translations available without a compiled file on indexer as weak references
  • Improvements in multiline values and quote key files for translation keys
  • Rename parameter indexer key name to force a refresh, pls report npe directly to #238 with your environment data if still occur
  • Improvements in repositoryClass detection of doctrine annotations eg namespaces
  • Add typename for repository "find*" lookup elements
  • Add support for annotations based models inside "find*" repository calls
  • Add extension point for container file loading
  • Add "Interface" and "ClassInterface" to type provider #254
  • Activate $option key references inside FormTypeInterface, because of working api now #162
  • Refactoring of container related linemarkers to fix some npe (api break?) #238
  • Add support for scss assets #251
  • Migrate custom method references provider to variable resolver to support recursive calls
  • Add references provider for console HelperSet #243
  • Add goto for twig "parent" function #246
  • Readd parameter class service annotator #242
  • Dont use statusbar in phpstorm < 7.1 is not supported #235
  • Make several services thread safe and implement npe fixes #237, #238
  • Dont fire twig type completion inside string values
  • Some fixes for phpstorm 7.1.2
  • Close profiler feature and merge into master
  • Add profiler statusbar widget
  • Provide collector for mail, route, controller, template for profiler
  • Attach all profiler collector to statusbar widget and provide suitable click targets
  • Add basic form field support in twig types
  • Add twig completion for "form.vars"
  • Add ManagerRegistry:getManagerForClass reference provider #231
  • Add support for twig form_theme #232
  • Add function to twig type whitelist
  • Fix some npe in yaml #227
  • Add twig template folding and strip "Bundle"
  • Add twig implements and overwrites block linemarker and provide custom popover #75
  • Add basic implementation of enum like completion behavior eg Response::setStatusCode, Request::getMethod
  • Add doctrine related files to controller method popup
  • Use folding names in related file popup where suitable
  • Add code folding provider for php with support for route, template and repository
  • Add code folding provider for twig path and url function
  • Add settings for all code folding provider (default=true)
  • Add overwrite linemarker for twig blocks #75
  • Add yaml static service config completion (class, arguments, ... )
  • Readd twig completion workaround for filters (hell!)
  • Fix error on class name with trailing backslash on yaml annotator
  • Migrate template references, to resolve #46 fully
  • Add support for "Navigate > Related Files" (Ctrl+Alt+Home) inside controller action #191
  • Rename plugin settings key to more unique name "Symfony2PluginSettings" #209 #122
  • Fix accidently removed UrlGeneratorInterface::generate and EntityManager::getReference
  • Fix npe and cme in container index #207, #211 (use "File > Invalidate Cache", if issue still occur)
  • Add support of php shortcut methods for repository, route and service references #46
  • Add blank filter for service stub indexes #207
  • Add parameter references for doctrine findOneBy/findBy, on yaml config
  • Add goto model config inside getRepository
  • Add type resolver for events name
  • Fix missing @ in yaml service builder
  • Fix npe in container index #206
  • Add Doctrine MongoDB repository resolver #205
  • Add autopopup for string completion values
  • Add support for more form methods #162
  • Add reference provider for form "options" keys #162 limited by WI-21563
  • Add templates for yaml, xml service files and controller
  • Service builder is accessible inside project browser context menu of php files
  • Fix for missing vendor libs since phpstorm 7.1 #180
  • Rewrite of all container stuff, which completely based on index now; with massive performance improvements
  • Add service builder/generator for classes (beta) #77
  • Add private service indexer #197
  • Add service parameter indexer
  • Add twig variable completion for class interfaces
  • Add support for "PHP 5.5 class constant" in PhpTypeProvider, so Entity::class in getRepository is possible #193
  • All PhpTypeProvider support references, not only string parameter
  • Use parameter/service index in ContainerBuilder context and mark them as "weak" service
  • Service LineMarker use service index and provide goto to definition
  • Internal workaround for interface with missing trailing backslash WI-21520
  • Fix symfony2.4 expressions detected as service #202
  • Replace regular expression translation parser with plain psi collector, also allow multiple translation files #195
  • getRepository provides goto for entity and also repository #201
  • Add new method reference provider Parameter #196
  • Add FormFactoryInterface::createForm option keys support
  • Add Symbol and File contributor "Navigate > Symbol / File" #189
  • Support upcoming "Search Everywhere" of PhpStorm 7.1 #189
  • Support optional service reference syntax in yaml #194
  • Support twig 1.15 "source" function #190
  • Translation annotator check global translation file before fallback to yaml parser #195
  • Add popover line marker to controller method, showing related files like templates and routes
  • Add custom insert handle to not add double "@" on resource paths #185
  • Add plain indexed services to container builder context in php, yml, xml #166
  • Add more twig template name normalizer and fix npe #186
  • Prevent add empty and testing service to index
  • Fix template annotations pattern are not compatible with phpstorm7 #184
  • Fix yaml parameter annotator warnings on concatenate strings #188
  • Fix parameter case-sensitivity issues #179
  • Move repository to Haehnchen/idea-php-symfony2-plugin
  • Add reference provider for FormInterface::get/has
  • Add more twig template name normalizer #182
  • Improve twig completion type lookup names
  • Service container supports "field" elements eg properties and class constants #151
  • Better template name detection on non common usage and performance improvements
  • Add new method references provider for translation key with possible domain filter #155
  • Implement "twig extends" indexer for upcoming features

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-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.
2013-07-27 22:22:13
2013-07-01 20:41:14
Oh) Thanks! Prior to that, i activate only checkbox "Enable Framefork Integration", but this plugin be disabled. Sorry..
2013-07-01 18:28:18
simply enable it in the project settings?
2013-07-01 15:32:13
Plugin stopped working on the latest build PHPStorm 6.0.3 build 129.814. Tell me what to do and where to look?
2013-06-02 17:49:53
2013-06-02 15:56:01
The Symfony2 Plugin is definately great and enhances my productivity a lot! I love it and i hope it will be developed even further (e.g. DQL). Thanks a lot for your work!