The ultimate Magento local development environment

(Last Updated On: 24. August 2018)

Time is money and therefore every developer should strive for an optimal setup in which he can operate the fastest. Since I began with Magento in 2008 a lot has changed tool-wise and I am constantly improving to find the optimum Magento local development setup.

Which software pieces do you need for fast and qualitative development of Magento modules?

  • PhpStorm: since many years now the state-of-the-art IDE for PHP, this software is worth every penny and is continually developed every few months
  • Magicento: the plugin that makes PhpStorm incredible useful for Magento by providing auto-completion, automatically generating module structure and many more features.
  • PHP Inspections (EA Extended): also a plugin for PhpStorm that massively supports you in writing correct, clean and effective code. I basically use this in conjunction with the code sniffer and the mess detector (see below)
  • PhpCodesniffer in combination with Magento ECG Coding Standards
  • Php Mess Detector: easily find duplicate code contents before someone other will find it
  • Xdebug with code coverage: run directly in PhpStorm you will get visual feedback about your code coverage
  • while in the good old days you had the Magento installation completely directly on your local PC, then switched to a Vagrant box with Magento and now we arrived at the beautiful container techniques like Docker. I cannot emphasize enough how helpful Docker is in my daily routine, especially when switching between different clients or module developments, Magento versions, etc.
  • modman: this tools was created by one of the Magento gurus to help maintaining magento modules in different installations – very helpful for testing in different PHP/Magento/.. versions
  • n98-magerun: every Magento developer always has to do some repeating stuff like cache-flush, resetting admin password, install specific version with sample data, etc.; this tool is absolutely unbeatable in these things.
  • ngrok is a ideal tool if you have to access your local environment from the outside (like e.g. give test links to your clients, access APIs from third-party-services and so on)
  • a MacBook Pro 😉