PhpStorm Features — Development Environment
Enjoy first-class support for Version Control Systems including Git, Subversion, Mercurial, Perforce, CVS, TFS, and more.
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.
- 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.
Databases & SQL
Note: PhpStorm includes all the features of DataGrip related to Databases and SQL and allows you to work with databases right from the IDE.
PhpStorm provides tools and code assistance features for working with databases and SQL in your projects. Connect to databases, edit schemas and table data, run queries, and even analyze schemas 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 available.
Other Notable Features
Most popular Version Control Systems are supported in PhpStorm, including Git, Subversion, Mercurial, Perforce, CVS, TFS, and more.
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.
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.
PhpStorm plugin repository 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 repository can be browsed and managed from the Plugin Manager in IDE Settings.
Visit the PhpStorm Plugin Repository website.
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 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 (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.
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.
PhpStorm automatically completes and checks standard tags, properties, target names, and path attribute values in build files.
Use the same integrated development environment on Windows, macOS and Linux with your single license key.
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.
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.