Предпосылки для написания статьи
Можно долго спорить — хорош или плох Битрикс. Этот пост не обзор и не сравнение с другими CMS. Не описание положительных и отрицательных сторон Битрикса, и еще много чего «не». Это просто небольшой мануал для начинающих разработчиков, который покажет что в мире есть нечто более удобное, чем notepad++ и filezilla.
IDE
На текущий момент есть много замечательных IDE с поддержкой PHP/JS/HTML, но я с давних пор пользуюсь PhpStorm, о ней и пойдет речь.
Рассмотрим самый простой вариант — битрикс уже развернут на хостинге, есть ftp/sftp доступ. Создаем новый проект:
Выбираем создание проекта из исходников, доступных по ftp:
Задаем название проекта, папку, где будет находиться проект и обязательно выбираем «custom»:
В дополнительных настройках много пунктов, нам потребуется изменить следующие:
«Upload changed files automatically to the default server» — «Always» — загружать измененные файлы на сервер
«warn when uploading over newer file» — «Compare content» и «Notify about remote changes» — полезно, если над проектом работает больше одного разработчика — phpstorm будет предупреждать об изменениях файлов на сервере, это поможет избежать перезаписи изменений друг друга.
Настраиваем параметры соединения:
Далее — необходимо указать корневую папку сайта на сервере (Project root) и исключить все остальные папки (или по крайней мере папку bitrix. Иначе скачивание проекта может занять несколько часов, проще это позже сделать в фоновом режиме).
Открываем в правой части экрана вкладку «Remote Host» и заходим в настройки (иконка с тремя точками рядом с названием подключения). Во вкладке «Excluded path» удаляем из исключений все локальные папки
Теперь можно выкачивать все остальное — для этого удаляем папку из исключений (правый клик, Remove path from excluded) и выкачиваем в проект(Download from here)
Проект готов к работе:
Работаем с проектом
Помимо стандартных фич (автодополнение кода, проверка на ошибки и т.д.) в PhpStorm есть множество возможностей, которые могут послужить стимулом для миграции
- Генерация html, посмотреть можно здесь
- Автоформатирование кода (особенно актуально, если приходится разбирать стандартные компоненты и шаблоны битрикса)
- LiveEdit
Одна из проблем битрикса — тяжелое наследие из старого кода, очень многие методы, которые по факту являются static, объявлены как обычные. Из-за этого автодополнение в phpstorm не может их подхватить. Решается эта проблема исключением из проекта папки bitrix/modules и подключение этой папки из замечательного проекта bxApiDocs
Еще одной киллер-фичей являются сниппеты для подключения компонентов. Для этого необходимо установить bxCompSnpt и добавлять компоненты из IDE простым нажатием комбинации Ctrl+J
В качестве эпилога
В статье осталось еще очень и очень много неохваченных возможностей… Отладка, подключение к битриксу Composer, работа с системами контроля версий. Продолжать можно до бесконечности, было бы желание.