PhpStorm deeply understands your code.

Major frameworks support

PhpStorm is perfect for working with Symfony, Laravel, Drupal, WordPress, Zend Framework, Magento, Joomla!, CakePHP, Yii, and other frameworks.

All the PHP tools

The editor actually 'gets' your code and deeply understands its structure, supporting all the PHP language features for modern and legacy projects. It provides the best code completion, refactorings, on-the-fly error prevention, and more.

Front-end technologies included

Make the most of the cutting edge front-end technologies, such as HTML 5, CSS, Sass, Less, Stylus, CoffeeScript, TypeScript, Emmet, and JavaScript, with refactorings, debugging, and unit testing available. See the changes instantly in the browser thanks to Live Edit.

Built-in developer tools

Perform many routine tasks right from the IDE, thanks to the Version Control Systems integration, support for remote deployment, databases/SQL, command-line tools, Docker, Composer, REST Client, and many other tools.

- PhpStorm = WebStorm + PHP + DB/SQL

All the features in WebStorm are included into PhpStorm, with full-fledged support for PHP and Databases/SQL support added on top.


General

Double Shift
Search everywhere

Alt + #[0-9]
Open corresponding tool window

Ctrl + Alt + S
Open Settings dialog

Ctrl + Tab
Switch between tabs and tool window


- Editing

Ctrl + Space
Basic code completion

Alt + Enter
Show intention actions and quick-fixes

Ctrl + P
Parameter info (Within method call arguments)

Ctrl + Q
Quick documentation lookup

Ctrl + mouse over code
Brief info

Alt + Insert
Generate code... (Getters, Setters, Constructors)

Ctrl + O
Override methods

Ctrl + I
Implement methods

Ctrl + Alt + T
Surround with... (if..else, try..catch, for, etc.)

Ctrl + /
Comment/uncomment with line comment

Ctrl + Shift + /
Comment/uncomment with block comment

Ctrl + W
Select successively increasing code blocks

Ctrl + Shift + W
Decrease current selection to previous state

Ctrl + Alt + L
Reformat code

Ctrl + D
Duplicate current line or selected block

Ctrl + Y
Delete line at caret

Shift + Enter
Start new line

Ctrl + Shift + U
Toggle case for word at caret or selected block

Ctrl + Shift + ] / [
Select till code block end/start

Ctrl + NumPad+/-
Expand/collapse code block

Ctrl + F4
Close active editor tab


Navigation

Ctrl + G
Go to line

Alt + Right / Left
Go to next/previous editor tab

Ctrl + E
Recent files popup

Ctrl + Shift + Backspace
Navigate to last edit location

Ctrl + B or Ctrl + Click
Go to declaration

Ctrl + Alt + B
Go to implementation(s)

Ctrl + Shift + B
Go to type declaration

Ctrl + U
Go to super-method/super-class

Alt + Up / Down
Go to previous/next method

Ctrl + ] / [
Move to code block end/start

F2 / Shift + F2
Next/previous highlighted error


Refactoring

F5 / F6
Copy/Move

Alt + Delete
Safe delete

Shift + F6
Rename

Ctrl + Alt + N
Inline variable

Ctrl + Alt + M / V / F / C
Extract Method/Variable/Field/Constant

Ctrl + Alt + Shift + T
Refactor this (Shows all available refactorings)


Search / Replace

Ctrl + F / R
Find/Replace

F3 / Shift + F3
Find next/previous

Ctrl + Shift + F / R
Find/Replace in path


Debugging

F7
Step into

F8
Step over

Shift + F8
Step out

Alt + F8
Evaluate expression

F9
Resume program

Ctrl + F8
Toggle breakpoint

Ctrl + Shift + F8
View breakpoints


Running

Shift + F10
Run

Shift + F9
Debug

Ctrl + Shift + F10
Run context configuration from editor

Ctrl + Shift + X
Run command line


VCS / Local history

Alt + ` (Backtick)
VCS quick popup

Ctrl + K
Commit project to VCS

Ctrl + T
Update project from VCS

Alt + Shift + C
View recent changes


Live templates

Ctrl + J
Insert live template

eco
echo statement

fore
foreach (iterable_expr as $value) {...}

forek
foreach (iterable_expr as $key => $value) {...}

fori
for ($i = 0; $i < ; $i++) {...}

inc / inco
include/include_once statement

rqr / rqro
require/require_once statement

fun
function () {...}

prif
private function

prisf
private static function

prof
protected function

prosf
protected static function

pubf
public function

pubsf
public static function


- IDE viewing modes

Full screen mode. PhpStorm expands the main window to occupy the entire screen. On macOS, all operating system controls are hidden, but you can access the main menu if you hover over the top of the screen.

Distraction-free mode. The editor occupies the entire main window with the source code centered. All other elements of the UI are hidden (tool windows, toolbars, and editor tabs) to help you focus on the source code of the current file. You can still use shortcuts to open tool windows, navigate, and perform other actions.

Presentation mode. PhpStorm expands the editor to occupy the entire screen and increases the font size to make it easier for your audience to see what you are doing. Other elements of the UI are hidden, but you can bring them up with corresponding shortcuts or using the main menu if you hover over the top of the screen.

Zen mode. PhpStorm combines the Full screen and Distraction-free modes, so the main window expands leaving only the editor with the source code for you to focus on programming.