PhpStorm is a proprietary, cross-platform IDE (integrated development environment) for PHP, built by the Czech Republic-based company JetBrains.
PhpStorm is written in Java. Users can extend the IDE by installing plugins created for PhpStorm or write their own plugins. The software also communicates with external sources like XDebug.
Zero-configuration web application debugging with Xdebug
in PhpStorm. Darcula color scheme
Viewing Data Source Structure and other SQL and Databases related features in PhpStorm
- PhpStorm provides a rich code editor for PHP with syntax highlighting, extended code formatting configuration, on-the-fly error checking, and code completion.
- PHP 5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3, 7.4, 8.0, 8.1 support, including generators, coroutines, the finally keyword, list in foreach, using empty() on the result of function calls and other expressions, traits, closures, class member access on instantiation, short array syntax, array dereferencing on function call, binary literals, expressions in static calls, it supports return types and scalar type hints and constant visibility, etc. It can be used for both modern and legacy PHP-based projects.
- Code autocompletion finalizes classes, methods, variable names, and PHP keywords, plus commonly used names for fields and variables depending on their type.
- Coding style Support (PSR1/PSR2, Drupal, Symfony, Zend).
- PHPDoc support. The IDE provides code completion suggestions based on @property, @method and @var annotations.
- Duplicated Code Detector.
- PHP Code Sniffer (phpcs) that checks for code smells on the fly.
- Refactorings (Rename, Introduce Variable, Introduce Constant, Introduce Field, Inline Variable, Move Static Member, Extract Interface).
- Smarty and Twig templates editing (Syntax errors highlighting; Smarty functions and attributes completion; automatic insertion of paired braces, quotes and closing tags; and more).
- MVC view for Symfony, and Yii frameworks.
- PHAR support.
- SQL and databases support (live database schema refactoring, generation of schema migration scripts, export query result to file or clipboard, editing of stored procedures, etc.).
- Remote deployment over FTP, SFTP, FTPS etc. with automatic synchronization.
- Version control systems integration (Git (including specific GitHub features), Subversion, Mercurial, Perforce, CVS, TFS) allowing you to perform actions (commit, merge, diff, etc.) right from the IDE.
- Local History (tracks any changes in the code locally).
- PHP UML (UML class diagrams for PHP code with refactorings invoked right from the diagram).
- Phing support (autocompletion, checks standard tags, properties, target names, path attribute values in build files).
- Issue tracker integration.
- Support for Vagrant and Docker, SSH console & remote tools
- Google App Engine for PHP Support
Debugging and testing
- Easy-to-configure visual debugger (Xdebug, Zend Debugger) for inspecting context-relevant local variables and user-defined watches, including arrays and complex objects, and editing values on the fly.
- Scripts can be profiled right from PhpStorm with either XDebug or Zend Debugger. An aggregated report is available, and the user can jump from the execution statistics directly to the function in PHP code.
- PHPUnit tests can be developed in PhpStorm and run instantly from a directory, file or class using the context menu options) with code coverage.
- HTML5 support.
- Live Edit: changes in the code can be immediately viewed in the browser without reloading the page.
- CSS/SASS/SCSS/LESS support (code completion, error highlighting, validation, etc.).
- Zen Coding.
- Code navigation and usages search (Go to declaration/symbol, Find Usages).
- ECMAScript Harmony Support.
Licensing and updates policy
In November 2015 JetBrains switched to licensing PhpStorm on a subscription basis. Annual subscriptions or monthly subscriptions maintained for 12 consecutive months also receive a "perpetual fallback license" to the major version available at the time of purchase. PhpStorm is available for individual developers, and business and organizations. Additional discounted and complementary licenses are available for startups, students and teachers, and non-commercial open source projects. These complementary licenses require approval and do not include the perpetual fallback clause, i.e. they expire.