Software:PhpStorm

From HandWiki
Short description: Integrated development environment for PHP
PhpStorm
PhpStorm Icon.svg
JetBrainsPhpStormScreenshot.png
Developer(s)JetBrains
Initial release2009; 15 years ago (2009)
Stable release
2021.1.3 (Build 211.7442.50) / 2 June 2021; 2 years ago (2021-06-02)[1]
Written inJava
Operating systemWindows, macOS, Linux
Available inEnglish
TypeIDE
LicenseTrialware
Websitewww.jetbrains.com/phpstorm/

PhpStorm is a proprietary, 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, 8.0 and 8.1[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

Zero-configuration web application debugging with Xdebug in PhpStorm. Darcula color scheme
Version Control Systems Integration
Viewing Data Source Structure and other SQL and Databases related features in PhpStorm

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, 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,[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

References

  1. "PhpStorm 2021.1.2 is released". https://blog.jetbrains.com/phpstorm/2021/04/phpstorm-2021-1-2-is-released/. 
  2. Erez Zukerman (2012-01-12). "Slick PhpStorm Makes Editing JavaScript and PHP Fun". PCWorld. http://www.pcworld.com/article/248117/slick_phpstorm_makes_editing_javascript_and_php_fun.html. 
  3. David Feugey (2014-09-22). "Avec PhpStorm 8, JetBrains renforce sa présence sur le marché PHP professionne". Silicon.fr. http://www.silicon.fr/phpstorm-8-jetbrains-renforce-presence-marche-php-professionnel-96881.html. 
  4. Darryl K. Taft (2012-09-13). "JetBrains PhpStorm 5.0 Provides New PHP Framework Support". Eweek. http://www.eweek.com/c/a/Application-Development/JetBrains-PhpStorm-50-Provides-New-Framework-Support-560166/. 
  5. Adrian Bridgwater (2012-09-18). "JetBrains PhpStorm 5.0 Aligns To Symfony2 and Yii". Dr.Dobbs. http://www.drdobbs.com/tools/jetbrains-phpstorm-50-aligns-to-symfony2/240007578. 
  6. "PhpStorm vs WebStorm". http://devnet.jetbrains.com/message/5456233;jsessionid=111D786511C0F8006447972E46AE73EA#5456233. 
  7. "PhpStorm". https://www.jetbrains.com/phpstorm/. "PhpStorm includes all the functionality of WebStorm (HTML/CSS Editor, JavaScript Editor) and adds full-fledged support for PHP and Databases/SQL." 
  8. "Which IDE do I need?". PhpStorm FAQ. http://confluence.jetbrains.com/display/PhpStorm/PhpStorm+FAQ. 
  9. Bruno Skvorc (2012-08-13). "PhpStorm – Review and Give Away". PHP Master. http://phpmaster.com/phpstorm-review-and-give-away/. 
  10. Harika (September 3, 2019). "Debugging techniques for Drupal". https://www.specbee.com/blogs/php-debugging-how-debug-your-php-code-drupal-debugging-techniques-included. 
  11. Chris Cornutt (2015-05-07). "Gary Hockin: Debugging PHP Command Line (with PHPStorm and XDebug)". PHPDeveloper.org. http://www.phpdeveloper.org/news/22684. 

External links