PHPStorm for WordPress development

PHPStorm for WordPress development

Why are many of the top WordPress developers using PHPStorm for WordPress development?

In December 2015, I landed my dream gig as a full time WordPress engineer at XWP. I had not been a full time WordPress developer, let alone PHP developer for 3 years running. I was just coming out of the payments world and the only exposure to WordPress and PHP that I had during those 3 years was the occasional client project that I did on the side.

Prior to that 3 year stint, I was doing WordPress development full time. Let me tell you, a LOT changes in 3 years, especially in the development world. So having been out of the WordPress development space for that amount of time, I had lost touch with a lot of the advancements around WordPress development tools.

With half a month left on my employment contract, my new full time WordPress role was fast approaching. I needed to get my development environment setup for maximum productivity so that when I start the new gig, I would be ready for the work that was going to be thrown my way.

The most obvious place to start was finding a good text editor (or so I thought at the time). So I started searching for text editors with excellent WordPress support.

I was quite surprised to find that during my search, an IDE by the name of PHPStorm kept getting a mention. Stack overflow posts, forum threads, mailing lists, tweets and Quora.

I’ve never been a big fan of an IDE. I’ve always felt that they’re bloated, slow and over kill for what I need. Sound familiar?

In any case, I was coming back in to WordPress development with an open mind and knew that I needed to give PHPStorm a try due to it’s popularity. And so, semi-reluctantly, I did.

It really didn’t take long for me to become hooked. I dumped Sublime Text and very quickly transitioned to using PHPStorm for all my projects.

Now, switching to an IDE from a text editor is definitely not for everyone. There are fundamental differences between the two that you will either love or hate. I would however encourage you to give PHPStorm a trial run. Watch some of the videos below to see what it is capable of and with an open mind, explore whether it could work for your situation. You might surprise yourself just like I did.

So, why use PHPStorm for WordPress development?

To come back to the question that was originally posed at the start of this article, there are a number of reasons. Let’s take a quick look at some of them…

  • PHPStorm has the best WordPress integration I’ve ever seen. No jokes, I have yet to find an IDE or plugin for a text editor that understands WordPress as deeply as PHPStorm does. Not only does it have autocomplete and documentation for all WordPress functions, it will allow you to autocomplete actions and filters too. You can cmd-click your way to the inner workings of WordPress and really deeply explore how things work in WordPress. What about WordPress syntax formatting? Yep, it’s got that too. You really need to experience it to see the true value of the integration.
  • Of course, it offers so much more than just excellent WordPress integration. Because it’s an IDE, there is no real need to ever move outside of it for 3rd party application support in the form of database access, Git tooling, FTP etc. Everything you need for developing a theme or plugin is in one single place. A great video to give you an overview of all the features is the one below entitled “Introduction to PHPStorm”.
  • Probably the thing that surprised me the most was that PHPStorm is not as slow and bloaty as I had expected. In fact, it was quite zippy. If you really are feeling withdrawal symptoms from your text editor, you can pretty much make the IDE look just like a text editor. The interface is clean and it runs smoothly on my 8GB Macbook Pro.
  • Since PHPStorm is built upon Jetbrains architecture, you have a full access to a whole bunch of extensions and plugins for the IDE. There are a ton of useful plugins and remember that the IDE comes with built in support for more than just PHP and WordPress. It handles Javascript, CSS, HTML etc extremely well.
  • It’s also really nice that PHPStorm is cross platform. If you run on more than just one operating system, it’s perfect to have installed across systems for development continuity.
  • PHPStorm ships with all the shortcuts that you would expect to see in a text editor kitted out with a whole bunch of plugins. You’ve got shortcuts to find files, classes, methods, IDE functionality and so much more. The navigational shortcuts are also excellent.
  • Lastly, probably the number 1 killer feature for me, is the debugging. Are you still using var_dump and print_r with a whole load of manual browser refreshing? You need to check out the debugging features in PHPStorm. This is so huge that in the coming weeks, I’m going to write a complete guide to debugging with PHPStorm.

The only real downside of PHPStorm is the cost involved. You pay a monthly subscription for the software, but it is so minimal that the value that you get from the software far outweighs it’s cost.

PHPStorm video tutorials to get you started

So to close off this article, I’ve recorded a whole bunch of videos which you can use to get up to speed on PHPStorm for WordPress development. There is no particular order that you need to follow in watching these videos and they’re quite short and to the point.

Introduction to PHPStorm
Introduction to PHPStorm
10 "must know" PHPStorm shortcuts
10 "must know" PHPStorm shortcuts
Database Support in PHPStorm
Database Support in PHPStorm
Using Git in PHPStorm
Using Git in PHPStorm
Connecting to and syncing with remote hosts in PHPStorm
Connecting to and syncing with remote hosts in PHPStorm
Setting up Vagrant in PHPStorm
Setting up Vagrant in PHPStorm
All about the Terminal built in to PHPStorm
All about the Terminal built in to PHPStorm

I hope by now you can see why many developers are turning to PHPStorm for WordPress development. Give it a try and let me know how it goes, I’d love to hear how it works or doesn’t for your workflow.

Enjoyed this content? Get an article like this delivered to your inbox every Tuesday...

15 thoughts on “PHPStorm for WordPress development”

  1. Hi Matt and congrats for the redesign and the quality of your content. I’m writing just to let you know that the solution that you’re usign to display the library of videos does not allow to play the video…

    I am sure that it is not a feature that you wanted to ship 😉

    Anyway, I’ve tested it on Chrome and Firefox (latest versions).

    Thanks again for your nice work and to help me discovering a great IDE for my WordPress work!

    Take care,
    Andrea

  2. Matt says:

    Thanks for the comment Andrea! I appreciate the feedback 🙂

    That is very strange, I also experienced that issue and submitted a ticket to the author of the plugin. I then implemented the fix he suggested and it’s now working for me. It’s so strange that it’s still not working for you.

    I will look in to it further.

    1. Hi Matt,

      now everything is working fine. Maybe a cache problem or something else 🙂

      Anyway, congrats for the quality of your content, thanks to help us improve the tools of our work and the knowledge of the platform!

      Take care,
      Andrea

  3. Brendan says:

    I use Coda but will be trying this out in the morning. Cheers for the article! Video works fine on my Android phone.

  4. Matt says:

    Great Brendan! Glad it’s working for you 🙂

  5. James Kane says:

    Agree strongly that PHPStorm makes WordPress development a lot easier – but honestly, I can’t figure out the debugging process for the life of me. The setup of it, more than anything. I spent a whole day trying to set it up during a crucial development cycle and ultimately gave up and var_dump/refreshed my way to working code. Would love a good tutorial on PHPStorm debugging setup and process for WordPress!

    1. Matt says:

      Hey James. That is the exact next topic I’m going to be writing and recording about. It took a while for me to figure it out, but now that it works, I’ve not had any issues and it’s awesome!

      1. James Kane says:

        Matt, just remembered this comment from a few months back and decided to check on your blog – I’m still waiting patiently for this post, blindly var_dumping and echoing my way to functional code! Save me! Ha.

  6. Jacob says:

    I started using PHP for WordPress after I saw one of your videos a while back but I really dislike the Darcula colors and fonts theme, the one you are using in the video look like so much better and I wonder what theme that is…

    1. Matt says:

      Hey Jacob,

      The theme is called “Monokai” and it comes with PHPStorm by default. Preferences > Editor > Colors & Fonts > Scheme.

  7. okafor chinyere matthew says:

    hello Matt nice work, Please the proxy name you entered on proxy host text box is it the IP address of your local machine or that of the xampp server you are using because am using xampp and i entered the proxy name of the xampp on my computer after much i got an error message saying that the connection failed. Please your help will go a long way.

  8. Serge Liatko says:

    Hi guys,
    Totally agree here. I was kind of blown away after the move from notepad++.
    Thanks for the article. Will definitely stay tuned.

  9. Mohamed GadAllah says:

    Hi,
    I am a new newbie to programming and I will continue in web development and will use WordPress.
    I’ve goggled for which tools I should use and a lot recommended phpstorm.
    I like your contents but feel it is really advanced and wondering how to be professional in php and make the best use of phpstorm?
    I’ve just purchased it.

  10. Tin Chu says:

    Hey Man! im lookin forward to read the articles regarding debugging with PHPSTorm!

    thanks man!

  11. Ben Coates says:

    Hi Matt, I’m so glad I found this, it looks like PhpStorm could be my saviour!

    I’m wondering if you managed to get LiveEdit to work with theme development – for instance, say, if I’m editing header.php within a theme, to get those changes to instantly update in the browser?

    I just get 404s when trying to do this.

Leave a Reply

Your email address will not be published. Required fields are marked *