PhpStorm Features — Development Environment

VCSs Integration

Most popular Version Control Systems are supported, including Git, Subversion, Mercurial, Perforce, CVS, TFS, and more.

For Git VCS IDE shows revisions graph.

The following features are available no matter which VCS you use:

All the tedious tasks (adding, removing and deleting files) are performed automatically. A built-in visual merge tool resolves all conflicts in a quick and intuitive manner. The changes made locally are highlighted as you type in the editor gutter, providing intuitive navigation and a 2-click rollback for individual changes.

  • Integrated changelists — group yourchanges into multiple change lists for better organization
  • Shelved changes — set aside some changes to restore them later
  • Repository changes view — see what has been committed by other team members
  • UML view of changes
  • Incoming changes view — see the code changes not yet integrated into your local copy
  • Outdated changes notification — get warned if a file you are working with has been changed after your last sync

Databases & SQL

PhpStorm provides tools and code assistance features for work with database and SQL in your projects. You are able to connect to databases, edit schema as well as table data, run queries, and even analyze schema with UML diagrams.

SQL code can be injected to other languages or edited in SQL Editor with syntax highlighting, smart code completion, on-the-fly code analysis, code formatting and navigation.

Local history

IDE tracks any changes made to your source files, protecting you from any accidental losses or modifications, even if made by other applications. At any time, you can inspect the history of either a particular file or directory, and roll back to any of its previous versions.

Start Working in no Time

Open an existing folder, check out the code from a VCS, or even specify your FTP to download and auto-sync your files with. You're up and running in mere moments.

Edit project files locally and deploy back to remote server using automatic synchronization, either on file save or on demand.

Coding Style Support

PhpStorm contains a built-in PSR1/PSR2, Symfony2, Zend, Drupal and other standards compliant code formatting and lets you easily specify your own project-specific coding standards for PHP CodeSniffer. Currently just reformatting your code in PhpStorm helps your code meet coding standards.


PhpStorm helps developers to understand and change their code by providing editable UML class diagrams for PHP code. You can quickly examine your application structure, create and edit classes and their relationships. Look for "Diagrams…" in context menus. Many refactorings can be applied directly from the diagram, via the shortcut menu.

Integration with Issue Trackers

When your ToDo list is in an issue/bug tracking system, you can configure PhpStorm to work with the issues without switching from the IDE. Just specify your issue tracker server and:

  • Select tasks to work on from the list defined by your filter
  • Automatically group VCS changes under a corresponding task
  • Commit to VCS with task name/ID pre-filled for you
  • Switch between tasks keeping IDE context saved (open editor tabs, break points, etc.)

PhpStorm supports the following bug tracking systems: JetBrains YouTrack, Atlassian JIRA, Lighthouse, Pivotal Tracker, GitHub, Redmine, Trac, and more.


PhpStorm plugin repository contains 250+ IDE plugins of all kinds, including support for major PHP frameworks, additional VCS, integrations with various tools, and editor enhancements such as Vim emulation.

PhpStorm plugins repository can be browsed and managed from the Plugin Manager in IDE Settings.

PhpStorm Plugin Repository web site.


Vagrant is a handy tool natively integrated in PhpStorm designed to help you create reproducible development environments. It allows you to share a development virtual machine by sharing a simple script. Other developers can then launch an identical machine by running the vagrant up command.


Composer (dependency manager for PHP) is now supported: Create a new project with Composer, Init composer within existing project, Manage dependencies and add packages with a user-friendly UI, Work with Composer via the command line tool, and more.

Built-in REST Client

REST Client is integrated in the IDE to let you test RESTful web services right from the PhpStorm. Simply invoke different requests over HTTP (e.g. GET, POST, PUT and others) to RESTful APIs with various parameters and get response and response headers.

Built-in SSH Console with Remote Tools

The Built-in SSH Console let you connect to any remote machine and perform various actions via SSH. In addition, SSH Remote Tools can be configured to run any remote tool right from the IDE with a single keystroke.

Command-line Tools

PhpStorm has command-line tools support with pre-configured command completion for various external command-line tools, including Composer, Symfony console, Zend Framework 2 tool (ZFTool), Zend Framework 1 tool, Drush for Drupal, Tools based on Symfony console (Laravel, Doctrine). Any other custom tool can be added as well.

Google App Engine for PHP

Develop applications for Google App Engine for PHP and delegate routine deployment tasks to the IDE.

Create your app, run it and deploy it to the GAE server without leaving PhpStorm.

Remote PHP interpreters

Using a remote interpreter instead of a local one lets you run your application and PHP-based tools on a production-like environment, be it the real server or a virtualized one created with Vagrant.

Phing Support

PhpStorm automatically completes and checks standard tags, properties, target names, path attribute values in build files.

Cross-platform Experience

Use the same integrated development environment on Windows, Mac OS X and Linux with your single key.

Docker Support

Docker plugin for PhpStorm allows to add Docker support to existing projects, view logs, manage Docker containers from right inside PhpStorm. You can also debug your web applications with either Xdebug or Zend Debugger.