ElisDN писал(а): ↑2018.02.01, 10:34
Первоначальные настройки:
Для начала уберите галочку "File > Settings > Editor > Inspections > PHP > Error Handling > Unhandled exeption", чтобы не ругался на отсутствие всех @throws в PHPDoc-блоках.
В "File > Settings > Directories" проекта выставляем как Excluded все папки с мусором вроде runtime и web/assets.
Чтобы он понимал, в какой папке у вас исходники и под каким неймспейсом, корневую папку в yii2-app-basic или каждую папку backend, frontend и т.п. в app-advanced помечаем как Source, прописывая им корневой неймспейс app или backend и т.п. Аналогично tests помечаем как Tests с неймспейсом tests.
Если PhpStorm подхватит Composer, то библиотеки в папке vendor корректно обработает автоматически. Иначе папку vendor желательно проигноировать как Excluded и подключить вручную в "File > Settings > Languages and Frameworks > PHP" в списке Libraries, чтобы был доступ к классам, но поиск и замена там не производились и не было риска там что-то сломать.
В "File > Settings > Languages and Frameworks > PHP" выставляем используемую версию PHP и текущий консольный интерпретатор.
Ну и по использованию:
IDE отличается от простого текстового редактора именно её "интеллектуальными" способностями. А именно, разработчики ценят её умение понимать программный код и им управлять, способность находить и подсвечивать ошибки и недочёты и возможность автоматизировать рутинные операции.
В PHPStorm чаще всего используется:
- Автоподстановка и автопроверка по типизации
- Импорт классов в use автоматически через Ctrl+Space или через Import Class в меню после клика по "лампочке" или нажатия Alt+Enter
- Создание классов в любой папке через New > PHP Class (при желании можно очистить шаблоны создания классов, чтобы не вписывались лишние комментарии)
- Переход к любому классу по имени через Ctrl+N
- Глобальные поиск и замена по проекту по Ctrl+Shift+F и Ctrl+Shift+R (при поиске игнорируются исключённые нами через Excluded папки)
- Ctrl+Click на любом классе, методе, константе или переменной показывает либо исходник элемента, либо те места, где он используется
- Клик по стрелочкам в линейке левее имени класса или метода открывает аналогичный метод в родителе или наследниках
- Умные автозамены (если в классе набрать pubf и нажать Tab, то автоматически появится public function () вокруг курсора. Вбиваем имя функции - нажимаем Tab - вбиваем аргументы - нажимаем Tab - пишем тело метода)
- Автогенерация кода (геттеров, сеттеров, инициализация полей в конструкторе)
- Авторефакторинг (Переименование переменных, классов, констант, перемещение классов в другой неймспейс, вынесение метода, интерфейса и т.п. При переименовании папки меняется неймспейс всех классов в ней)
- Исправление стиля кода выделенного фрагмента или всего файла по Ctrl+Alt+L
- Переопределение методов в наследнике через Ctrl+O
- Инспекция кода Code > Inspect Code. Находит все неиспользуемые или несуществующие use, переменные и кучу других проблем или возможных недочётов. Можно поставить плагин EA Extendend с дополнительными проверками.
- Автоинтеграция c Git (Подсвечивает разными цветами новые, изменённые и игнорируемые файлы. У любого файла можно вызвать Git > Show History или закоммитить прямо там)
- Своя внутренняя история изменений VCS > Local History в дополнение к простому Ctrl+Z
- По Ctrl+Z отменяются не только изменения текста, но и удаление, перемещение или переименование файлов
- Разбиение окна пополам по Split Vertically в контекстном меню вкладки
- Панель подключения к БД
- Интеграция тестов PHPUnit и Codeception
- Веб-клиент для тестирования API
- Поддержка Vagrant для запуска машин, подключения по SSH и возможность запуска тестов внутри Vagrant
- Простой Terminal и отдельный Console Tool для создания своих команд
И есть ещё куча скрытых вещей, которые можно изучить на досуге, если они понадобятся.
Ну и, в отличие от других IDE, всё сохраняется в реальном времени и не нужно нажимать Ctrl+S