PhpStorm

From Infogalactic: the planetary knowledge core
Jump to: navigation, search
JetBrains PhpStorm
Developer(s) JetBrains s.r.o.
Initial release 2009; 15 years ago (2009)
Stable release 2016.1 / March 17, 2016; 8 years ago (2016-03-17)
Development status Active
Written in Java
Operating system Microsoft Windows, Mac OS X, Linux
Available in English
Type PHP IDE
License Proprietary
Website www.jetbrains.com/phpstorm/

JetBrains PhpStorm is a commercial, cross-platform IDE for PHP[1] built on JetBrains' IntelliJ IDEA platform.

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[2] (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.[3][4]

PhpStorm is built on IntelliJ IDEA, which is written in Java. Users can extend the IDE by installing plugins created for the IntelliJ Platform or write their own plugins.

All features available in WebStorm are included in PhpStorm,[5] which adds support for PHP and databases.[6] WebStorm ships with pre-installed JavaScript plugins (such as for Node.js), which are available for PhpStorm as well at no cost.[7]

Key features

File:JetBrainsPhpStormDebugging.png
Zero-configuration web application debugging with Xdebug in PhpStorm. Darcula color scheme
File:JetBrainsPhpStormDataSource.png
Viewing Data Source Structure and other SQL and Databases related features in PhpStorm

PHP editor

  • PhpStorm provides a rich code editor[8] 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 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, 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,[9] Symfony2, 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 Symfony2 and Yii frameworks.
  • PHAR support.

Development environment

Debugging and testing

  • Easy-to-configure visual debugger (Xdebug, Zend Debugger)[10] 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.

IntelliJ IDEA PHP support

The Ultimate Edition of JetBrains polyglot IDE IntelliJ IDEA supports the same functionality as PhpStorm by plugins.

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 time of purchase. PhpStorm is available for individual developers, and business and organisations. Additional discounted and complimentary licenses are available for startups, students and teachers, and non-commercial open source projects. These complimentary licenses require approval and do not include the perpetual fallback clause, i.e. they expire.

See also

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. Lua error in package.lua at line 80: module 'strict' not found.

External links