PhpStorm has been growing in popularity in WordPress circles. On one hand it's a solid code editor choice in general. On another it's great for projects in the WordPress ecosystem, which typically contain a balance of legacy code and modern PHP practices.
I remember troubleshooting some issue in Yoast SEO years ago. I grumped that it wouldn’t be an issue if they'd just use PhpStorm over there. By now I can attest that it has become a staple choice among developers on Yoast projects.
Basic IDE advantages
The choice between code editors and development environments (IDEs) is an old holy war. If a meek one, many developers would use either and both for different tasks:
- Editors focus on lightweight performance and core tasks of writing and changing code.
- IDEs are more demanding on resources, as they provide a vast number of extra functions. Beginning with searching and refactoring, to integration with external tools and processes.
I would say that the most important advantage of IDE is that it “sees” a project as a whole. Not just one source file at a time.
Specifics of Yoast projects
Yoast projects have some of the longest developed and widest deployed WordPress code (outside of core itself).
The resulting volumes of code now span work of many developers and whole eras of PHP development. From centralized and storage–centric Subversion, to a current of distribution and collaboration–centric GitHub. Towards whatever the future has in store for us.
PhpStorm helps in projects like this, in such areas as:
- code navigation, makes it easy to study existing code and grasp how it works;
- code refactoring, simplifies maintenance of code and reduces the possibility of breakage;
- tools integration, centralizes workflows and automation tasks, such as code style checks and unit tests.
The team’s favorite PhpStorm features
I've asked Yoast developers about their favorite PhpStorm features, so here they are:
- Intention Actions (Andy)
- Auto–Completing Code (Anton)
- PHPUnit support (Caroline)
- Multiselection (Caroline)
- Finding Usages (Diede)
- Searching Everywhere (Omar, Jimmy)
- Version Control (Jip)
- Reformatting Source Code (Jip)
- Navigating to Declaration (Taco)
- Embedded Local Terminal (Jimmy)
- Navigating by Name (Andrey)
- WordPress Coding Assistance (Andrey)
As you can see many of the features mentioned above relate to code navigation and generation. Other cover using related tools without leaving the editor.
PhpStorm is an important tool at Yoast. It helps developers by making it easier to navigate and create code. On top of that it integrates and supports the other tools in one single environment.