PhpStorm’s graphical PHP debugger supports conditional breakpoints, value tracking, and automated debugging of individual procedures. For testing applications, the PhpUnit test module framework and the graphical interface for running tests are supported. When editing code, syntax constructs are highlighted, advanced configuration formatting, real-time error detection, and code completion are performed. PhpStorm-editor takes into account comments to the code when it is completed, automatically choosing the best solution to the problem. PHP refactoring and template editing ensures that the project changes in the shortest possible time. PhpStorm allows you to visualize code in a hierarchical way and provides quick navigation through all elements.
Thanks to the use of PHPUnit tests, you can quickly view the results of generating code for individual blocks or the entire application. If the test was unsuccessful, the product allows you to view the individual code lines in which the error was detected. PhpStorm provides debugging of JavaScript code and provides a wide range of features: finding a breakpoint in HTML and JavaScript, setting breakpoint parameters, testing the syntax of code in real time, etc.
Key features
- Support for PHP 5.3, 5.4, and 5.5, including generators, coroutines, namespaces, closures, types, short array syntax, class member access when instantiated, array dereferencing when calling a function, binary literals, expressions in static calls, and more. PhpStorm can be used for both modern and traditional PHP projects.
- Code completion finalizes classes, methods, variable names, PHP keywords, and commonly used field and variable names based on their type.
- Support for code formatting standards (PSR1/PSR2, Drupal, Symfony2, Zend).
- PHPDoc support. PhpStorm provides appropriate code completion based on @property, @method, and @var annotations.
- Duplicate code detector.
- PHP Code Sniffer (phpcs), which validates code on the fly.
- Refactorings (Renaming, Introducing a Variable/Constant/Field, Embedding a Variable).
- Support for editing Smarty templates (highlighting syntax errors, auto-completion of Smarty functions and attributes, automatic insertion of paired brackets, quotation marks and closing tags, etc.).
- MVC representation for Symfony 2 and Yii framwerks.
- Recognition of code packed in PHAR archives.
- SQL and database support (Refactor database schema, generate schema migration scripts, export query results to a file or clipboard, edit stored procedures, and more.
- Remote application deployment and automatic synchronization using FTP, SFTP, FTPS, and other protocols.
- Integration with version control systems (Git – including special functionality for working with GitHub, Subversion, Mercurial, Perforce, CVS, TFS), allowing you to perform many actions, for example, commit, merge, diff and others, directly from PhpStorm.
- Local History (locally tracks any changes to the code).
- PHP UML (UML class diagrams for PHP code with refactorings called directly from the diagram).
- Phing support (provides auto-completion, validation of standard tags, properties, target names, path attribute values in build files).
- Integration with bug trackers.
- Support for Vagrant, SSH console and remote tools
- Google App Engine support for PHP
- An easily configurable visual debugger (Xdebug, Zend Debugger) for checking context-appropriate local variables and user-defined tracking objects, including arrays and complex objects, and editing values on the fly.
- Profiler integration: Scripts can be profiled directly from phpStorm using Xdebug or Zend Debugger. An aggregated report is available; the user can go from the execution statistics directly to the function in the PHP code.
- Integration with the PHPUnit unit testing framework (PHPUnit tests can be developed in PhpStorm and immediately run from a directory, file or class using the context menu) with code coverange.
- Code completion for JavaScript, HTML, and CSS (for tags, keywords, labels, variables, parameters, and functions).
Support for HTML.5. - Live Edit: Changes to the code can be instantly viewed in the browser without reloading the page.
- Css/SAS/Less support (code completion, error highlighting, validation, etc.).
Zen Coding. - Code navigation and usage search (go to ad/ID, find uses)
- Support for ECMA Script Harmony.
- Refactoring for JavaScript (renaming, highlighting a variable/function, embedding a variable/function, moving/copying, safely deleting, extracting an embedded script into a separate file).
- JavaScript debugger, as well as integration with JavaScript unit testing frameworks.