Используем PhpStorm для разработки На текущий момент есть много замечательных IDE с поддержкой PHP/JS/HTML, но я с давних пор пользуюсь PhpStorm Далее - подробная инструкция как начать работу с этой замечательной IDE. [spoiler]
Рассмотрим самый простой вариант - битрикс уже развернут на хостинге, есть 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 есть множество возможностей, которые могут послужить стимулом для миграции
Одна из проблем битрикса - тяжелое наследие из старого кода, очень многие методы, которые по факту являются static, объявлены как обычные. Из-за этого автодополнение в phpstorm не может их подхватить. Решается эта проблема исключением из проекта папки bitrix/modules и подключение этой папки из замечательного проекта bxApiDocs
Еще одной киллер-фичей являются сниппеты для подключения компонентов. Для этого необходимо установить bxCompSnpt и добавлять компоненты из IDE простым нажатием комбинации Ctrl+J
Зацепин Евгений, а может напишите статью про git и другие крутые штуки, которые облегчают жизнь при разработке на битрикс в phpStorm?) за эту статью спасибо.
Если при попытке подключении по FTP (страница Add Remote Server) выводится ошибка Connection to 'x' failed вставьте галочку на Don't check HTTP connection to server.
Иванкин Евгений написал: Зацепин Евгений, а может напишите статью про git и другие крутые штуки, которые облегчают жизнь при разработке на битрикс в phpStorm?) за эту статью спасибо.
Да, Битрикс с GIT тоже интересует. Кто то настраивал, поделитесь опытом.
Алексей Уколов, подскажите пожалуйста. Работаю по статье с проектом фтп, исключил при создании почти все папки всё настроил. Потом при работе я включаю папки в проект. Ну цитирую
Теперь можно выкачивать все остальное - для этого удаляем папку из исключений (правый клик, Remove path from excluded)
и выкачиваем в проект(Download from here)
И вот при Download from here ни при уплоад хере не появляются файлы на диске выдаёт ошибку = No files or folders found to process. Как то победить? Хотя я брал из Remote Host и драгэндропил на проект папку и она типа как копировалась, но даже когда и в проекте и в Remote Host после драэндропа была папка то всё равно No files or folders found to process толи файл не обновлялся.
Kurochka Artem, http://habrastorage.org/storage3/47d/...c333b9.png - как показано на этом скриншоте - из исключений убирали? В phpstorm двойная система исключений - на локальный и удаленные файлы. Необходимо изначально убрать исключения на локальные файлы, тогда по "Remove path from excluded" уберется исключение на удаленный файл и его можно будет загрузить.
Цупко Игорь, первая мысль - боже, как все сложно под windows =) В линуксе практически все это работает из коробки, авторизацию по ключам использую везде =)
Попович Алексей, меня раздражает сама новая ORM.. Сейчас делаю крупный проект - использую Doctrine2. =) Из минусов - нет родной интеграции с битриксом, использую кастомные типы свойств инфоблоков для связки с сущностями доктрины. Зато плюсов море - удобство разработки, функционал, миграции и еще вагон всякого разного. =) Хотя с автодополнение тоже не везде гладко - местами просто генерирую докблоки с подсказками типов, в phpstorm это делается через alt+enter, времени практически не занимает.
Зацепин Евгений, а я вот добрался до того, чтобы посмотреть новое ядро, и, в частности, хотел разобраться с ORM, да что-то плаваю в нем... пока разбираюсь
Привет, коллеги и собратья по оружию В phpStorm мне нравится "Code Analysis" при каждом коммите изменений - много раз выручала эта фича и сэкономила уже кучу часов отладки. Есть одно но: достали постоянные предупреждения "Path 'bitrix' not found" - это она ругается на строки типа require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php") ; которые почти в каждом файле по 2 раза. Попробовал пометить папку проекта: "Mark as Resource Root" - не помогло. Совсем отключать не хочется - фича сама по себе полезная. Кто-нибудь знает как ее побороть?
Новиков Алексей, пока думаю никак. Единственный разумный вариант - сделать запрос на багтрекере Jetbrains с просьбой добавить такие конструкции к анализу. На данный момент phpstorm вполне понимает конструкции вида __DIR__.'/path/file.php', думаю включить в разбор пути $_SERVER['DOCUMENT_ROOT'] как алиас к Resource root не так сложно, вопрос - возьмут ли это в работу =) Анализ кода пробовал еще в 6-й версии, но не пользовался именно из-за адского количества ложных срабатываний (ну на самом-то деле они не ложные, но в зоне ответственности битрикса). В итоге очень тяжело вычленять действительно потенциальные ошибки от мусора. (
Ранее, на windows как и многие пользовал связку WinSCP + PhpStorm, открывал по одному файлику, и не знал забот. Сейчас перешел на linux, тут такая тема не прокатила, выкачиваю проекты, вроде как "правильно" использую шторм, но вот его браузер файлов просто вымораживает, можно ли использовать любой другой браузер файлов в связке с штормом при проектной работе, когда файлы хранятся локально?
Зацепин Евгений, браузер файлов это любой приложение способное отразить файлы и папки (total commander, mc, nemo, и прочие, проще говоря проводники), чаще всего проще написать путь руками чем щелкать по папкам. Или это можно сделать при помощи встроенного терминала? И еще вопрос в ту же копилку, в 9й версии шторма появилась возможность удаленного редактирвоания файлов, для этого нужно найти файл и открыть его при помощи кнопки в контекстном меню. Это крайне долго, можно ли эту же операцию провести при помощи консоли?
Игошев Дмитрий, в дереве замечательно работает клавиатурная навигация, плюс поиск по имени файла на любом уровне вложенности (даже если дерево свернуто), это намного удобнее, чем терминал. По поводу редактирования удаленного файла - имхо, при таком способе использования Phpstorm теряется больше половины его функционала, и зачем он в таком случае вообще нужен? Может быть вам будет проще использовать какой-нибудь редактор, если вы всё равно не используете преимущества phpstorm?
Зацепин Евгений, Отказаться от шторма сложно, слишком удобный софт, а загрузив проект я понял что он еще удобнее чем был ранее. Но не буду же я создавать сотню проектов? Порой прилетают задачи по поддержке или хотфиксам каких-то неисправностей со старых проектов, там нужно открыть и отредактировать с пяток файлов, создавать проект? - долго и не удобно, открывать любым другим редактором - тоже неахти, привыкнув к шторму пользоваться чем-то другим не удобно.
Игошев Дмитрий, можно ж просто не удалять проекты? Когда я еще работал с битриксом у меня на диске в среднем было по 30-40 проектов, просто не удалял старые, иногда приходилось к ним возвращаться.. На создание нового проекта уходило 5-10 минут, не так много чтобы отказываться от всех удобств. В случае с битриксом выкачивал естественно не всё, а только необходимое - стили, скрипты, кастомные компоненты и шаблоны.
Зацепин Евгений, итог - использовать только встроенный браузер файлов, работать только с проектами, встроенным терминалом не пользуетесь. Проекты можно не удалять, но у меня то их нет), я только приступил к их выкачиванию с серверов.
Зацепин Евгений, глупый вопрос нарисовался =). В контекстном меню проектов стало тяжело ориентироваться, шторм сортирует проекты по частоте обращения видимо, можно ли сортировать проекты по алфавиту? не нашел этой настройки.
Игошев Дмитрий, похоже что этим списком управлять нельзя. ( Я обычно пользовался им для открытия последнего-предпоследнего поектов, в работе редко было одновременно больше 3-4. Если нужен какой-то старый - открывал через Open Directory
Зацепин Евгений, понятно. А я у вас про терминал не спрашивал? Есть ли терминальные команды для открытия скажем проектов? Тогда их бы можно было вытащить в виде ярлыков, да и вообще как угодно и куда угодно с любой удобной сортировкой.
Игошев Дмитрий, насколько я знаю - нет, из консоли возможно открыть в IDE конкретный файл, на конкретной строке, но вроде только в рамках текущего проекта.
Галушко Андрей, про phpstorm не скажу, с ftp в нём не работал уже года три. Но сталкивался с такой проблемой из-за неправильно настроенного ftp-сервера. Стоит подключиться например через filezilla и проверить отображаются ли по ftp вообще эти папки.
Что-то не получается добавить bxCompSnpt в PHPStorm, подскажите что нужно сделать? Закинул в папку templates как в инструкции. Перезагрузил. При нажатии ctrl-j, ctrl-alt-j, tab не видно ничего битриксовского.
И еще подредактируйте статью, упущено то что PhpStorm не видит "скрытые" папки и файлы, названия которых начинается с точки, к примеру .top.menu.php и .default Что бы он их видел и они попали в Project нужно в настройках FTP соединения нажать кнопку Advanced Options и поставить галку "Show and process hidden files"
Докукин Вячеслав написал: PhpStorm не видит "скрытые" папки и файлы, названия которых начинается с точки
У меня на маке показывает скрытые файлы расположенные на удаленном сервере. Для виндовс написано делать так http://himich.com/notes/all/phpstorm-...yh-faylov/ У себя посмотрел в advanced option у меня такой настройки нет.
Сурнин Антон, там так же и написано "Show and process hidden files"
а вот Preferences > Build, Execution,Deployment > Deployment у меня нет такого пути... есть вот такой, спасибо что подсказали теперь я нашел то что искал!
Докукин Вячеслав, А разве во вкладке file нет пункта Preferences?. Посмотрите, думаю что он должен быть. Если есть, то путь который я указал будет справедлив и для виндоус )
А почему если я на сервере поменял например пункты меню, через режим правки, и файл .service.menu.php изменился, но в локальной папке с файлами старая версия файлов и никак не получается его обновить...
Максименко Олег, у меня также настроено, но файл измененный (например изменили настройки компонента) не подтягивается при просмотре этого файла - говорит что надо объединить изменения
Максименко Олег, внес эти настройки, нажал save но как была старая версия файлов на локале так и осталась... В контекстом меню на файлах и папках проекта раньше был пункт "Deployment" c подпунктами Upload to serv.. и Download но сейчас их нет! Что нкжно сделать еще что бы слилось все сервера? Или грохнуть папку проекта и добавить заново?
Коллеги Нужна помощь! Случайно нажал не ту комбинацию клавиш и все открытые на редактирование файлы закрылись и удалились как локально так и на сервере!!!
Как можно откатить это действие, или восстановить их? Убил init.php и еще ряд файлов....
При создании проекта исключил папку /bitrix/components/ как теперь ее вернуть что бы она выгрузилась локально и индексировалась? Remove Path From Exluded выставлял, Deployment => Download... на папке локальной bitrix выставлял толку ноль! Не загружается! Как быть то не могу понять.... Подскажите пожалуйста!
Группы на сайте создаются не только сотрудниками «1С-Битрикс», но и партнерами компании. Поэтому мнения участников групп могут не совпадать с позицией компании «1С-Битрикс».