If you're searching for a powerful PHP IDE, look no further. In this review, we take a deep dive into PhpStorm by JetBrains.

Who is JetBrains?

JetBrains is a well-known company that produces integrated development environment (IDE) tooling for developers. They have a range of tools from Application Development (iOS/Android), Web Development (WebStorm), Backend Development (PHP, Ruby, C#, C++, Go & more), and even building your own "programming language".

The IDE

PhpStorm IDE: Editing Symfony Application

PhpStorm brands itself as a Lightning-Smart IDE for PHP. It's a bold claim on the surface, but will it hold up? Let's find out.

Project Load Time

Welcome to PhpStorm: Landing Screen when opening

When creating a new project from scratch, PhpStorm does this fast – including using their Template options for new projects (eg, Laravel / Symfony / Vue) as shown below. The Template options really give a quick-start feeling to using the IDE, and with built-in support for most known frameworks and easy command-click reference checking – it's hard to beat the ease of use for new projects.

Quick-Start for creating new projects

PhpStorm starts to suffer load time issues when opening an existing project that has never been used before in the IDE. This is because PhpStorm scans the entire directory of this project for things such as Git Version Control, Composer dependencies, and the entire structure to populate the functions users rely on, such as Global Search (double-click shift to search all files, directories, vendor dependencies, and code directly).

This load can be anywhere from a few seconds to upwards of 2 minutes depending on the total size of the project. For example, the average Laravel-based application takes under 30 seconds, whereas a monolith could take a few minutes to fully be loaded in. The loading process does not stop you from working in the IDE right away however, as it's immediately available for you to get going.

History

PhpStorms remembers what tabs you leave open, what spot in the code you left off at when you've closed the IDE. It's excellent at re-populating this upon open, giving you the "always open" screen feeling without the always-running hit.

Preferences

When you configure an IDE to your liking, you generally like to take it everywhere with you right? PhpStorm supports this out of the box, even if you change computers. You can automatically sync your IDE preferences to an IDE share server, a file, or git. Personally, I find committing my IDE preferences to a git repository incredibly helpful when I transition computers – virtual or physical. The two-way sync when I make preference changes that pushes it to git is extremely useful in my day to day activites.

Share IDE settings - Help | PhpStorm
Share your IDE settings via Git

New to JetBrains? You can try JetBrains's PhpStorm or PyCharm or GoLand IDE for 3 months free using the exclusive coupon code "THEGEEKBIN". Click here to redeem the coupon code.

Code Experience

All-in-all, the overall programming experience inside of the IDE feels very slick, and the ability to write a function and PhpStorm immediately picks up and makes every reference clickable (shift-click) means finding the function super easy.

PhpStorm is baked with goodies like a real-time xdebug server – the xdebug server has saved me numerous times over, and it works on remote systems quite easily. By being able to run my IDE locally, connect to a remote machine and debug it in real-time is intuitive, and incredibly simple to do.

On top of everything, the syntax highlighting is great, and PhpStorm even has a DocBlock generator that can execute for the entire file – this means, if you've type hinted or the IDE can infer the type, it'll automatically DocBlock comment it for you (epic!).

The Bad Side

We've talked a lot of good in the IDE, but what about the other side – the bad side? I've been using PhpStorm for over 4 years – both personally and professionally – and to date I only hold one thing on my bad side list.

The Resource Consumption: On a few machines with 8 GB of memory, I've seen PhpStorm start freezing during "Open Existing Project" indexing phase. It seems to be a memory issue more than a CPU issue, but, in any event it causes PhpStorm to freeze the IDE interface until the indexing job is done.

Is PhpStorm worth it?

This is a question I can't answer for you, but, from my experience it has saved me tons of time. For example, the built in php xdebug server allows me to simply click breakpoints in the UI and it immediately is reflected – I can even do this on remote hosts right through the IDE.

For me, the decision was a no-brainer. All these incredibly powerful features available for only US$89.00 per year, it's practically a steal. Top it all off, each year until Year 3 the license gets cheaper for renewing it – down to only US$53.00 per year. In time alone, PhpStorm has paid for itself.

Want to buy JetBrain's PhpStorm? Click here! Use the coupon code "THEGEEKBIN" for 3 months free!

Stay tuned for Part 2, when we review PyCharm.