JetBrains PhpStorm is software that probably needs no introduction to anyone in the development community. It's one of the most popular solutions of this type available on the market. The IDE (Integrated Development Environment), already in its basic version, provides the necessary tools for efficient and effective work, and thanks to the extensive library of additional extensions, it can be made even more flexible and adapted to individual needs.
PhpStorm – what does the basic version provide?
Right out of the box, PhpStorm is a programming multitool. Here are some of the basic features that deserve your attention:
- Intelligent coding aid, including autocomplete and code highlighting, validating, and checking for errors as we type. We can also count on automatic refactoring. Our code is constantly analyzed, and we can use automatic correction if necessary. Searching and navigating through the code is also easy and designed to save our precious time.
- Very easy and flexible debugging thanks to the solutions implemented in PhpStorm. This ease also applies to PHPUnit tests. We create them directly where we write the application code, which is very convenient. The software creators also took care of the possibility of profiling the application using Xdebug or Zend Debugger.
- Unified user interface for working with many popular version control systems.
- Functionalities that help in working with databases and SQL make the analyses easier and speed up writing and navigating through the code.
- Support for software such as Vagrant, Docker, and Composer, thanks to which we perform routine tasks directly through an intuitive interface.
These are just some of the basic functions that can be used during everyday work in PhpStorm. To learn more about the IDE's features available out of the box, visit the Features section on the program's official website.
Best plugins for PhpStorm
Of course, PhpStorm allows much more. First of all, it provides the possibility of adapting the development environment to the specific needs of creators and their projects. You can choose from thousands of plugins available in the official JetBrains library or, if necessary, invest in paid extensions. Below we present a few that, in our opinion, are noteworthy and can bring tangible benefits.
One of the most important issues in a developer's work is maintaining the high quality of the code. It must be free from vulnerabilities, efficient, and as simple as possible. This extension allows you to achieve it all much easier. PHP Inspections provides a static PHP code analyzer that includes a handy tool for creating better code. You'll find two versions in the repository: EA Extended and EA Ultimate. Only the former one is free. However, by choosing the paid version, we get access to additional inspections and modifications that improve the free ones.
As we've already stated, the key to a developer's work is maintaining the high quality of the code. Another important part of achieving this is proper documentation so that we and anyone who'll work with our code in the future will have no problem understanding the purpose of each fragment. As a rule, PHP developers use DocBlocks for this purpose. The PHP Annotations extension will definitely make our work easier. The plugin provides many useful automations and improvements, including a class import annotator, automatic alias import, or "Goto" for tags.
If you're using Symfony in your work, you should definitely take a closer look at this plugin. It provides full support for the above framework. We can inject dependencies, use templates and generate the necessary components of our application, e.g., forms or routing. Symfony Support makes it easier to navigate through the code, and thanks to auto-completion, it'll speed up our work, which will surely become more enjoyable due to the benefits of using the new functionalities of the extension.
Another extremely important element in the software development process is testing. Very popular in PHP is PHPUnit, a test framework for PHP. It's an instance of the xUnit architecture for unit test frameworks. The PHPUnit Enhancement plugin makes it easier to work with this framework, providing, e.g. intelligent autocomplete functions, code navigation, or the refactoring ability to create mocks. In short, refactoring works like this: after renaming a method that is a mock, it'll also be correctly renamed in the string in tests.
Key Promoter X
The developer's work should also be efficient. Many of us are agile within our work environment, using keyboard shortcuts to reduce unnecessary or inconvenient operations, which saves some time in our daily work. The Key Promoter X extension was created to make it easier for us to learn the "magic tricks" available in PhpStorm when using our keyboard. The plugin provides a toolbox with a list of shortcuts that we can use. A keyboard shortcut that can replace the action will be suggested when using the program with a mouse. Thanks to this, we'll learn new tricks easily and quickly, and thus the work will become much more enjoyable.
PHPStorm – possible integrations
Improving the work by installing plugins that add various types of libraries, processes automating certain monotonous activities, or shortcuts facilitating navigation through the code is one issue. It's a well-known fact, however, that in our work, we use various external tools, such as version control systems or project management systems. PHPStorm meets our expectations and makes it possible to integrate applications necessary in everyday work.
Nowadays, every software company uses project management systems. Due to this, the creators of PHPStorm decided to add the option of integrating the most popular systems of this type already in the basic version of the program. Thanks to this, we can easily configure PHPStorm to work with applications such as Jira, Trello, or Redmine. More information on integration with project management systems and the PHPStorm configuration manual can be found on the JetBrains website.
Another very useful feature available in PHPStorm immediately after installation is the ability to integrate with control systems such as GIT. Thanks to a well-thought-out and intuitive interface, we get a very user-friendly tool for working with VCS. We can clone, commit, compare versions, resolve conflicts, and much more with just a few clicks.
We'll also find additional plugins on the program's website that extend PHPStorm with other integrations. For example, StackInTheFlow allows us to find solutions to the development problems we struggle with on the Stack Overflow platform without the need to leave the IDE.
PhpStorm plugins – summary
In this article, we've tried to describe the most popular and generally the most useful plugins for the PhpStorm IDE. Of course, this is only the tip of the iceberg, and any developer should choose a toolkit according to their individual needs and preferences. If you don't know which solutions will be best for your project, we'll be happy to help you as PHP development specialists.