Development Environment

VCSs Integration

Enjoy first-class support for Version Control Systems including Git, Subversion, Mercurial, Perforce, CVS, TFS, and more.

VCSs Integration

Most popular Version Control Systems are supported in PhpStorm, including Git, Subversion, Mercurial, Perforce, CVS, TFS, and more. In PhpStorm all the tedious tasks (like 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.

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.

VCS Features

  • Integrated changelists — group your changes 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
  • Changes notification — be alerted if a file you are working with has been changed after your last sync.

Other Notable Features

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

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.

Coding Style Support

PhpStorm includes built-in code formatting that is compliant with PSR1/PSR2, Symfony2, Zend, Drupal and other standards, and lets you easily specify your own project-specific coding standards for PHP CodeSniffer. Reformatting your code in PhpStorm helps your code meet coding standards easily.

PHP UML

PhpStorm helps developers 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. PhpStorm supports the following bug tracking systems: JetBrains YouTrack, Atlassian JIRA, Lighthouse, Pivotal Tracker, GitHub, Redmine, Trac, and more.

Plugins

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

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

Visit the PhpStorm Plugin Repository website.

Docker Support

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

Vagrant

Vagrant is a handy tool natively integrated in PhpStorm and 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 'up' vagrant command.

Composer

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 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, and path attribute values in build files.

Cross-platform Experience

Use the same integrated development environment on Windows, macOS and Linux with your single license key.

SFTP/FTP/FTPS Keep-Alive

PhpStorm automatically sends the keep-alive messages to SFTP/FTP/FTPS servers and Remote Interpreters so that the connection is not closed after every operation.

Template Projects

You can save any project as a template and create a new one based on it. The Tools menu has an action, Save Project as Template. As soon as it’s saved, the Template is available as a user-defined template in the New Project window.