Doc on GitHub
- Activate plugin per project in "File -> Settings -> Languages & Framework -> PHP -> Symfony" or use auto configuration notification
- (Required) Install PHP Annotations
- (Optional) Configure a default project connection in "Remote Hosts Access / Remote Hosts" to enable support for remote files in plugin settings
- (Optional) Ignore Symfony "cache" directory because of duplicate classes "Settings -> Project -> Directories"
- (Optional) Install PHP Toolbox
- (Optional) To support XLIFF translations add "*.xlf" / "*.xliff" to XML "Editor" -> "File Types"
This plugin supports Symfony 2, 3, 4, ...
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
- 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 Symfony related Symbols "Navigate > Symfony Symbol"
- Bridge for PHP Annotations to support annotation related stuff
- Dotenv and Docker environments variable extraction for DIC parameter
Recent change notes
see full changelog
- Support services suggestions, argument inspection and service completion prioritization for service class as id attribute in xml files
- Symfony 3.4 support "improved the overriding of templates" #1043; all template are know normalized inside index process
- Symfony 3.4 config provider supports "improved the overriding of templates" features #1043
- Empty namespace in Twig settings must be "__main__" to reflect internals
- Add completion for variables of template rendering in PHP; supporting function parameter and annotation methods #1052
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 http://confluence.jetbrains.com/display/PhpStorm/PhpStorm+Early+Access+Program