There’s no shortage of IDE solutions for PHP developers out there. Beginners can usually get by with basic code editors, but the best practice is to pick an IDE to serve your developing needs over time.
It also helps if said IDE has extensive plugin support and a lively user community, along with a positive track record with community mavens and experts.
One of the most popular PHP-centric IDEs to live up to these demands is PhpStorm by JetBrains. Though if you ask JetBrains themselves, they will tell you it’s the most popular IDE for PHP developers in 2020, with 59% of all PHP developers choosing PhpStorm for their PHP development projects.
PhpStorm includes all you need to develop in PHP right out of the box. However, much like most other IDEs and code editors, PhpStorm can be customized and its functionality can be extended through the use of downloadable community plugins.
Since PhpStorm is a flavor of Intellij IDEA, many of our recommended plugins are compatible with other flavors of the IDE as well. That said, our chart of top plugins and extensions for PhpStorm includes the plugins essential to effective and productive use of PhpStorm specifically.
The PHP Annotations plugin analyses the classes that can be used as annotations, and provides code-completing when writing annotations.
We can’t help the shameless plug. But only because we, and a few hundred thousand other developers, really love Tabnine and are still amazed by what it can it.
Tabnine provides superior code completions. Some say it knows what they’re thinking before they do. We say just give it a shot and install it on PhPStorm, or any other IDE for that matter.
Tabnine for Enterprise provides a secure coding environment that allows teams and organizations to host and train their own AI models. This feature facilitates collaborative autocompletion across IDEs and enhances code security by keeping the codebase and AI model on secure corporate servers. With Tabnine for Enterprise, your development team can enjoy the benefits of powerful AI code assistance, which promotes more productive and error-free coding, all while ensuring the confidentiality and protection of your company’s data.
This essential plugin provides “Method References” and “Type Provider” extracted from the Symfony Plugin (see below). PHP Toolbox also improves some PhpStorm Core functionality and provides better auto-completion for several libraries like PHPUnit, Behat, Doctrine and Twig.
One of the most popular PHP development frameworks is Symfony. When combined with the abovementioned plugins (PHP Toolbox and PHP Annotations), it enables advanced auto-complete capabilities for Symfony components.
PHPUnit Enhancement plugin provides smart autocomplete, code navigation and refactoring features for mock creation. Refactoring is handled in such a way that when you rename a method which is mocked, it is correctly renamed in the string in tests.
This plugin is an open-source Static Code Analyzer for PHP. Among inspections run, it can uncover architecture related issues, weak types control and possible code construct simplifications, performance issues, PHPUnit API usage and security issues.
Note that there is also a commercial version of this tool, called Php Inspections (EA Ultimate).
.ignore provides syntax highlighting and path auto-completion for .gitignore (and other ignore files). It also automatically grays out ignored files in the Project File Tree.
The IntelliJ IDEA .env files support plugin, compatible with PhpStorm, will provide syntax highlighting for the .env file in your PHP project.
As the name suggests, this plugin adds support for editing Apache config (.htaccess) files to your PhpStorm.
CSV Plugin is a lightweight plugin for editing CSV/TSV/PSV files with a flexible Table Editor, syntax validation, structure highlighting, customizable coloring, new intentions and helpful inspections. It’s compatible with all Intellij IDEs, including PhpStorm.
If you work with files of comma separated values, this plugin is a must-have.
Markdown language support for IntelliJ IDEs that offers all the features you need to write in markdown along your PHP code. This includes powerful pasting capabilities, drag and drop of images, refactoring and some autocompletion capabilities.
If you’re a fan of the Vim editor using PhpStorm, worry not! Vim emulation plug-in for Intellij IDEs is the plugin you need. IdeaVim supports many Vim features including normal / insert / visual modes, motion keys, deletion / changing, marks, registers, some Ex commands, Vim regexps, configuration via ~/.ideavimrc, macros, window commands, and more.
One of the plugins you will probably see in any list of Intellij plugins ever – Rainbow Brackets – is as essential as it seems. Which is also why we at Tabnine sponsor its development.
As the name suggests, this handy plugin will add Rainbow Brackets / Rainbow Parentheses for IntelliJ based IDEs including PhpStorm.
Dockerized development is pretty standard nowadays, and it helps to have Docker integration right there in the IDE. For Intellij IDEs, including PhpStorm, there’s a dedicated plugin that provides integration with Docker.
It lets you download and build Docker images, create and run Docker containers from pulled images or directly from a Dockerfile, and more.
Working with databases can get pretty tasking in CLI. So it helps to have a handy tool like the Database Navigator plugin to enable all the development and functionality features for a range of database types right in your PhpStorm IDE.
Another plugin you are likely to see recommended quite often is the String Manipulation plugin. Among others, it features case switching, sorting, filtering, incrementing, aligning to columns, grepping, escaping, encoding and more.
Especially useful if you work with large and complex Git repositories with multiple contributors is the GitToolBox plugin. It extends Git integration in Intellij IDEs (including PhpStorm) with additional features like status display, auto fetch, inline blame annotation, commit dialog completion, behind notifications and more.
It’s worth noting that new plugins are added all the time and old ones are retired as features are integrated into PhpStorm itself. So it’s not unlikely that we missed one (or more), leaving you plenty of room to add insights. Did we miss one? Maybe more? Let us know in the comments!