Is PhpStorm the best PHP IDE out there? In my last blog post, I talked about switching from my long-time editor of choice, Coda, to PhpStorm. I wrote about some of the issues I had with the switch. Complicated, and seemingly endless, preference menus made the setup of some of the more useful features of PhpStorm quite time-consuming. Since the feature set is so extensive, the action you need always seems to be buried behind two or three menu drop downs.
These things are still true. It’s menu interface leaves something to be desired when it comes to clarity and brevity. PhpStorm’s answer to this is a set of shortcut commands. These make accelerating the actual implementation of the features a breeze.
Useful PHPStorm Short Cut Keys
- Cmd+shift+a: Will open a search for all actions and settings within PhpStorm and installed plugin’s extensive feature set. Quickly split windows, open new scratch pads, start an SSH session to a remote host, etc.
- Opt+enter: Will allow you to preform a series of code-hinting and documenting functions. Creating a basic doc block for the current function is one. Generating setters and getters for a particular variable is another.
- Ctrl+enter: Will open the code generator drop down. Overwrite existing methods, add PHPDoc Blocks to everything within a class, etc.
The code completion and code analysis features allow you to access any class or method within your project. This is complete with type casting and code hints. When attempting to access a method outside of the current scope, the IDE will automatically add the necessary use statements. Or it will alert you to the fact that you will be unable to access those methods at runtime if there is an issue.
More features include the reformatting of code based on a set of predefined, per-project ruleset. It includes full support for multiple databases, both remote and local, coupled with an intelligent approach to accessing those same databases. This makes moving to separate applications for the same project unnecessary. Version Control is built in to allow you to see, at a glance, what effect your current edits are going to have on your project. The list of native features is immense and accessing them is more than convenient when utilizing the shortcuts above.
The only major issue I have is the very strict project-based approach PhpStorm has towards file editing. If it’s not in the folder structure already, it’s annoying to get it in there to edit it. If, based not on the rules established by the project, PhpStorm doesn’t think the file should be there, it will throw alerts telling you such. Sometimes this is a good thing, other times, like when I’m just trying to open a file to look at it with color coding and cod analysis, it can be frustrating and result in me reopening coda.
Other than that, I have nothing but good things to say about PhpStorm. And while I’m not a fan of the reoccurring payment system, the application is solid. It hosts a set of features that I find myself missing, and automatically going for, when forced to work with another IDE for whatever reason.