PhpStorm IDE for PHP

Отладка / Debug

PHP отладчик XDebug

Автогенерация кода

Существует куча рутинных задач, которые иногда выполняются самим фреймворком, а иногда требуют тупой ручной работы. PHPStorm помогает упростить некоторые [CTRL]+N, например:

Создание геттеров и сеттеров (Getters & Setters)

По существующим переменным класса можно сгенерировать набор геттеров и\или сеттеров, причем в появляющемся окне можно выбрать для каких именно.

Создание PHPDoc

По сути действие аналогично тому, как если перед существующим методом начать писать

/**

и нажать Enter. Можно выбрать одну или несколько функций и на основании атрибутов и содержимого будет сформирован Doc Block.

Переназначение и реализация при наследовании (Override & Implementation) При создании класса потомка или реализации абстрактных методов, чтобы не допустить ошибку, обычно приходится лезть в класс предок и запоминать или копипастить название и атрибуты метода. Или проверять для всех ли абстрактных методов есть реализация и вспоминать что же там требуется для ArrayAccess.

Есть вариант получше:

[CMD] + I – Имплементация

[CMD] + O – Переназначение

После нажатия хоткея появляется окно где можно выбрать какие именно методы будем реализовывать. После выбора генерится соответствующий метод с соблюдением приватности и имена атрибутов, например так: public function createTable($drop = false)

{ return parent::createTable($drop); }

Автоформатирование кода

Когда пишешь код сам, обычно форматирование получается само, но в ситуации, когда нужно поменять Code Style или пытаешься открыть чужой непривычно оформленный код, возникают проблемы. Можно смириться, а можно нажать [CMD] + [ALT] + L и IDE отформатирует код в соответствии с настройками (Preferences → Project Settings → Code Style → PHP)

Подсказки (Code Completition)

Для функций нужно писать PHPDoc с параметром @ return. Например:

/** @return SomeClass */ function a() {[…]}

Для переменных также можно указать комментарий:

/** @var $my_var SomeClass */

Тогда ниже для $my_var будет доступны подсказки

Для методов над классом можно указать PHPDoc

/** @method B foo() Описание метода */ class B extends A {[…]}

Если функция возвращает массив объектов

/** @return SomeObject[] */

Консоль

Многие фреймворки используют консоль для быстрого выполнения частых действий. Для Symfony, Zend и других популярных фреймворков PHPStorm поддерживает подсказки и автодополнение консольных команд в Command Line Tools Console [CMD] + [SHIFT] + X

Разновидности поиска

[CMD] + N – Find by Class Name

Поиск по имени класса. Удобно в больших проектах, когда всё зарыто вглубь директорий или просто неизвестно где находится. Убойности добавляет «умный поиск», т.к. ищется как по части названия класса, так и по первым буквам, например SomeVeryLongClass будет найден по «SVLC». Учитывает регистр букв, будьте внимательны.

UPD: «Умный поиск» разработчики называют Camel's Hump. Кстати в настройках можно сделать чтобы выделение слов, а также перемещение осуществлялось не целиком (до пробела), а именно по по словам (до заглавной буквы). Спасибо, yujin1st

[CMD] + [SHIFT] + N – Find by File Name

Поиск по имени файла. Аналогично поиску по имени класса использует «умный поиск».

UPD: Для нахождения файла по вложенности можно использовать слеш: some/deep/dir/with/file.txt найдется по «s/d/d/w/f», спасибо develop7

[CMD] + [SHIFT] + [ALT] + N – Find Symbol

Поиск любой функции/метода и констант, очень удобно, когда точно помнишь имя метода, а класс нет. Спасибо conf

[ALT] + [F7] – Find Usages

В момент когда курсор находится на имени класса или метода нажатие хоткея позволяет найти все использования в проекте или определенной части (Scope).

Есть вариант [CTRL] + [ALT] + [F7] — тот же поиск по использованиям, но в виде контекстного меню. Спасибо iPavel

[CTRL] + [SHIFT] + F – Find in Path

Поиск произвольной фразы по файлам проекта. При рефакторинге обычно хорошо дополняет Find Usages.

Не стоило бы писать о “просто поиске”, если бы не возможность ограничить директорию в котором будут искаться нужные штуки, или настроить Scope. Scope позволяет гибко настроить и сохранить область поиска, для использования в дальнейшем. Можно выкинуть из поиска, например, файлы фреймворка или сторонние либы.

live templates

phpstorm license key

http://www.rover12421.com/2015/04/07/jetbrains-product-patch-or-keygen.html

Ключи активации phpstorm Ver 8 - 9 (Windows / Linux / MacOs)

User Name：Learn Programming
===== LICENSE BEGIN =====
63758-12042010
00000Ryqh0NCC73lpRm!XVcxFChJ2g
TUR2lZtlLXrPLbQ66Gs8MHs51RvF2y
agoDlzne08Zm8VXbts1UMKE!EW4v8G
===== LICENSE END =====

User Name：Mr. Enrew
===== LICENSE BEGIN =====
9167-D38728T
000020QwaYAMfRP"lg"iY7ZOCtQ7Hw
Ety0BucaeyLzwzka899PsSMGiHkTYI
hUZlpca1ffezR0DyzFpdOki7jbVm8U
===== LICENSE END =====

User Name：Dr. Alban
===== LICENSE BEGIN =====
2604-D71052T
00001ikR7KznanEGNuWRag20JBc!fy
HVl4Rv8nyMgpBnoKcRfq0x!vXkBMH4
qGcM1PCMSv2QHhXXEeVZSTFhkZ4xb5
===== LICENSE END =====

Product : PhpStorm
UserName : Mr. Endigo
===== LICENSE BEGIN =====
6401-D92210T
00001GlhmP0"p5a60X9!rZ4zBUB8Cl
UdFJuehu2PdaOh!CjXPrpBW6AfZzAW
ILtUpsRXUESs"HBcQNy!qofCzLSEix
===== LICENSE END =====

Product : PhpStorm
UserName : Entony Clichkovsky
===== LICENSE BEGIN =====
8786-D23014T
00000zOS!U7K2P2nOUHZtUJPuopXDt
p55feQcokDPS31lsZ5vqqOVmCCl9Cx
WxVS!fALdMvW0LQ32YJImTyq!pWjS!
===== LICENSE END =====

Product : PhpStorm
UserName : Roberto Almano
===== LICENSE BEGIN =====
8659-D34829T
00000ILT!byBeyH4Yvcykp"O2MwLGg
ZoUJbIVuwszN5yUoXBGbw5SUzpKUzn
UBXRi8m4IBzZmfX4EcCKNu8g4UxcdM
===== LICENSE END =====

Ключи активации phpstorm Ver 10 - 11 (Windows / Linux / MacOs)

Откройте активационное окно Select Help → Register…

Выберите пункт server license

Вставте в поле ввода http://idea.lanyus.com/

Наслаждайтесь