Оглавление:
Хочу рассказать, как быстро и эффективно начать работать в интегрированной среде разработки (IDE) PhpStorm. Далее в этой статье — полный цикл создания проекта и его базовая настройка.
Работать будем с новейшей версией 2023.1.1 под Windows, сборка 231.8770.68 от 1 мая 2023 г. Скачать триальную версию программы можно по ссылке >>
Статья предназначена для людей, только начинающих работу в данной IDE, и призвана помочь сориентироваться в программе человеку, впервые открывшему ее. Поэтому большая просьба отнестись с пониманием к наличию незначительных или второстепенных аспектов.
Первый запуск
При первом запуске программы мы увидим такое окно:

Выбираем триальную версию или ищем в интернете актуальный мануал по активации программы. Последнее делаем, естественно, исключительно в ознакомительных целях, ведь не всем хватает 30-ти дневного триала для принятия решения о покупке.
Создание проекта
PhpStorm работает только с локальной копией проекта, подключиться к серверу по FTP и редактировать файлы «напрямую», без создания каталога проекта как такового, тут не получится. Вообще, такой подход в последний раз я видел в IDE CodeLobster, может кому пригодиться эта информация.
У любого веб-разработчика может быть 3 вида получения исходного кода для старта:
- Вы начинаете разработку с 0.
- Вы получаете проект в идеальном виде, вам предоставлены все исходники, настроена система контроля версий, бэкапирование и деплой.
- Вы получаете доступ к сайту, расположенному на боевом сервере (на проде).
Для начинающего разработчика в наиболее частых случаях сценарий таков: у вас лежат файлы на удаленном сервере, вам нужно их править. Файлов, которые понадобятся в работе максимум несколько десятков, при этом файлов на сервере несколько тысяч и совершенно нет нужды скачивать их все в локальную копию.
Создаем новый проект — нажимаем New Project from Existing Files.

Выбираем пункт Web server is on remote host, files are accessible via FTP/SFTP/FTPS/WebDAV и нажимаем кнопку «Next».

Даем имя новому проекту и обязательно выбираем радио-кнопку «Custom», для того чтоб задать первоначальные настройки проекту. Не забываем и в этом случае нажать «Next».

Появится такой экран:
На этом экране нам нужно указать несколько важных настроек:
- Upload changed files automaticaly to the default server выбираем On explict save action (Ctrl+S). Эта настройка довольно коварная штука, нужно всегда держать в голове тот факт, что даже случайно удаленные файлы или папки при автоматической синхронизации с сервером — удаляются и там. Конечно нам нужно предупреждение, и поэтому я выставил значение как на скрине, хотя у вас могут быть другие предпочтения.
- Wharn when uploading over newer file выбираем Compare timestamp & size, а также ставим галочку внизу Notify of remote changes. Эта настройка будет предупреждать вас при попытке перезаписать более новую версию файла. В таком случае нужно мержить вашу локальную копию с копией на сервере. При том подходе, который мы сейчас обсуждаем, таких ситуаций вообще не должно возникать!
В очередной раз нажимаем «Next», и переходим к…
Настройка доступа к серверу
Перед нами настройки удаленного сервера. Тут вводим название для сервера, так он будет отбражаться в колонке «Project» самой IDE. Вписываем стандартные реквизиты доступа по FTP, и не забываем поставить галочку Save password, если не хотите вводить пароль каждый раз при деплое.
Подразумевается, что у вас простое FTP-соединение с сервером, если же вы используете SFTP (что правильнее), то вам нужно будет заполнить параметры SSH в отдельном окне, а там уже указать либо пароль, либо путь до файла ключа.
Важные параметры я выделил на скрине, но у вас могут быть и свои предпочтения, например, отображать или нет скрытые файлы (под них попадает .htaccess). Обратите внимание, что я уже указал папку на сайте, которая мне нужна для работы. Это мой лендинг. Все настройки — ненастоящие, я сделал их специально для статьи в локальном сервере Open Server. Применять нешифрованный FTP на боевом сервере крайне опасно!
Для проверки правильности введенных параметров можно нажать на кнопочку «Test Connection» и получить сообщение о том, правильные данные мы ввели или нет.
Снова нажимаем «Next», после чего произойдет соединение с сервером.
Теперь видим список каталогов сервера. Корневая директория с нужными нам файлами уже была прописана уровнем выше, но тем не менее IDE требует явно указать корень проекта в этом окне.

Мы выбрали нужный нам каталог, и теперь обозначаем его корнем с помощью кнопки «Project Root» на верхней панели. Не торопимся нажимать на «Next», тут есть с чем еще поразбираться!

Папки приобретут зеленую подсветку. Это значит, что все они буду скачаны в локальную копию, а этого нам совсем не нужно (или нужно).
Сейчас у нас активировались дополнительные кнопки на панели сверху: «Excluded from Download», «Resource Root», «Exluded from Indexing».
- Исключает каталог, все его подкаталоги и файлы из загрузки.
- Помечает каталог как корень ресурса, что работает для подсказок, например, в css-файлах, когда прописываешь пути к изображениям.
- Исключает файлы выбранного каталога и все файлы подкаталогов из индексации после загрузки.
Как мы уже заверились выше, мы не будем скачивать весь сайт, поэтому нажимаем на кнопку «Excluded from Download», затем «Next» и «Create».
Красота, проект создан!

Бывают ситуации, что после создания проекта не открывается окно рабочего пространства с ним. В этом случае после перезапуска приложения нужно нажать на кнопку выбора уже имеющегося проекта и указать папку с проектом, у меня это C:\Users\kupereal\PhpstormProjects\lp.
Итак, у нас по-прежнему нет файлов! Зато теперь нам доступна вкладка Remote Host справа на панельке:

Получение нужных файлов и каталогов в локальный проект
Тут все просто — прямо перетаскиваем нужные файлы или каталоги на вкладку с локальным проектом и редактируем их. По идее все сохраненки должны автоматически деплоиться на сервер, но у меня этого не произошло. Может это из-за «кастрированного» сервера Open Server со своими закидонами, которому до своего собрата в macOS MAMP PRO — как до луны пешком. Разбираться дальше нет никакого желания, подобные системы должны решать проблемы, а не создавать их.
Вместо счастливого финала
Честно говоря, я немного выдохся от статьи об этой IDE, которая и раньше казалась мне непонятной интуитивно и тормозной. Впервые я попробовал PhpStorm еще в 2014 году, тогда она была в зените, а сейчас ее уже прилично вытесняет абсолютно бесплатная поделка от MS — Visual Studio Code.
Есть похожая по идеологии на PhpStorm IDE под macOS — CodeKit. Подобные комбайны пытаются стать как бы GUI для основных консольных утилит разработчика. На то они и IDE, чтобы стать универсальной, громоздкой надстройкой над всеми установленными в системе инструментами. Обслуживать разные конфигурации проектов предлагается через настраиваемые профили, а не конфиги. Кому как удобнее.