PHPStorm - The Lightning-Smart PHP IDE

PHPStorm - The Lightning-Smart PHP IDE

PhpStorm provides an editor for PHP, HTML and JavaScript with on-the-fly code analysis, error prevention and automated refactorings for PHP and JavaScript code. PhpStorm's code completion supports PHP 5.3, 5.4, 5.5, 5.6 & 7.0 (modern and legacy projects), including generators, coroutines, the finally keyword, list in foreach, namespaces, closures, traits and short array syntax. It includes a full-fledged SQL editor with editable query results.1


Version Control


JetBrains gitignore
gi jetbrains >> .gitignore

Development Environments

Configure PHP development environment - This topic gives general guidelines in configuring an environment for developing and testing PHP applications locally.2

PHPStorm - Vagrant

PHPStorm - Vagrant - PhpStorm integrates with Vagrant helping you create reproducible development environments defined by Vagrantfile configuration files.3 Scotch Box is a preconfigured Vagrant Box with a full array of LAMP/LEMP Stack features to get you up and running with Vagrant in no time.

  1. Settings/Preferences >> Tools >> Vagrant
  2. In the Instance Folder field, specify the fully qualified path to the directory where the Vagrantfile is initialized and stored.
  3. Apply Changes

PHPStorm - Docker

  • See Docker for more information

Configure PhpStorm to Use Docker

PHPStorm - Local Environment

Debugging with PhpStorm

Xdebug is an extension for PHP to assist with debugging and development.4

Testing and Test Frameworks

PhpStorm provides you with comprehensive testing capabilities: you can create, manage, execute, monitor, and terminate tests from within the IDE.5

  • Unit Tests are primarily written as a good practice to help developers identify and fix bugs, to refactor code and to serve as documentation for a unit of software under test.
  • Robot Framework is a generic open-source automation framework for acceptance testing, acceptance test-driven development (ATDD), and robotic process automation (RPA). It has simple plain text syntax and it can be extended easily with libraries implemented using Python or Java.


Last edited by MichaelAlber .
Page last modified on Friday May 22, 2020 18:44:03 UTC.