PhpStorm
This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)
|
File:JetBrainsPhpStormScreenshot.png | |
Developer(s) | JetBrains s.r.o. |
---|---|
Initial release | 2009 |
Stable release | 2020.3
/ December 3, 2020[1] |
Written in | Java |
Operating system | Microsoft Windows, Mac OS X, Linux |
Available in | English |
Type | Integrated development environment |
License | Commercial proprietary software |
Website | www |
PhpStorm is a commercial, cross-platform IDE (integrated development environment) for PHP,[2] built by the Czech Republic-based company JetBrains.
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, 7.1, 7.2, 7.3, 7.4 and 8.0[3] (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.[4][5]
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.
All features available in WebStorm are included in PhpStorm,[6] which adds support for PHP and databases.[7] WebStorm ships with pre-installed JavaScript plugins (such as for Node.js).[8]
Key features
PHP editor
- PhpStorm provides a rich code editor[9] 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 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,[10] 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.
Development environment
- 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)[11] 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.
JavaScript, CSS and HTML features
- Code completion for JavaScript, HTML and CSS (for tags, keywords, labels, variables, parameters and functions).
- 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.
- JavaScript refactoring (Rename, Extract Variable/Function, Inline Variable/Function, Move/Copy, Safe delete, Extract embedded script into file).
- JavaScript debugger and unit testing.
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.
See also
- JetBrains
- Comparison of integrated development environments
- PHP Development Tools (PDT)
- Eclipse IDE
- Xdebug
- Komodo Edit
References
- ^ "PhpStorm 2020.3: PHP 8, PHPStan and Psalm, Xdebug 3, Tailwind CSS, and Collaborative Development". blog.jetbrains.com. Retrieved 2020-12-03.
- ^ Erez Zukerman (2012-01-12). "Slick PhpStorm Makes Editing JavaScript and PHP Fun". PCWorld. Retrieved 2013-02-19.
- ^ David Feugey (2014-09-22). "Avec PhpStorm 8, JetBrains renforce sa présence sur le marché PHP professionne". Silicon.fr. Retrieved 2015-10-12.
- ^ Darryl K. Taft (2012-09-13). "JetBrains PhpStorm 5.0 Provides New PHP Framework Support". Eweek. Retrieved 2013-02-19.
- ^ Adrian Bridgwater (2012-09-18). "JetBrains PhpStorm 5.0 Aligns To Symfony2 and Yii". Dr.Dobbs. Retrieved 2013-02-19.
- ^ "PhpStorm vs WebStorm".
- ^ "PhpStorm". Retrieved 2013-04-21.
PhpStorm includes all the functionality of WebStorm (HTML/CSS Editor, JavaScript Editor) and adds full-fledged support for PHP and Databases/SQL.
- ^ "Which IDE do I need?". PhpStorm FAQ. Retrieved 2013-04-21.
- ^ Bruno Skvorc (2012-08-13). "PhpStorm – Review and Give Away". PHP Master. Retrieved 2017-06-06.
- ^ Harika (September 3, 2019). "Debugging techniques for Drupal".
- ^ Chris Cornutt (2015-05-07). "Gary Hockin: Debugging PHP Command Line (with PHPStorm and XDebug)". PHPDeveloper.org. Retrieved 2015-10-12.