Как вести разработку в IDE на виртуальном сервере?
Господа, если Вас не раздражает этот «глупый» вопрос и Вы находите в себе силы поделиться своим опытом — буду очень признателен более менее детальной инструкции, как Вы работаете с шаблонами, чанками, сниппетами и плагинами через IDE, если сайт расположен на виртуальном сервере?
Опишу почему возник такой вопрос.
По мере моего погружения в MODX меняется мой подход к разработке сайта. Да, он меняется медленно, но меняется. Все началось от того, чтобы писать код в админке и говорить «Ух ты, что это за квадратные скобки и телевизоры». Пропущу промежуточные этапы, последний сайт я стараюсь разрабатывать в IDE используя синтаксис Fenom, но делаю это на локальном Open Server (пробовал XAMMP но он торомзит жутко). Какой подход я использую — пользуясь тем, что Fenom поддерживает работу с файлами через привязки, я создаю в core/elements нужные мне папки где храню шаблоны, чанки и так далее. Чтобы не заморачиваться каждый раз с обращением к ним через привязку я одновременно в админке создаю статический документ со ссылкой на мой файл и таким же именем и тогда получается песня. Хочу могу редактировать через админку, могу в IDE и плюс вызывать чанк шаблон или сниппет могу просто по имени или по идентификатору. Тогда нет проблем — я закидываю в IDE папку с проектом, она индексируется и программа проявляет всю свою силу — подсказывает мне существующие свойства и методы и прочие плюшки. Но как оказалось, локальный сервер не самая надежная среда, много глюков и так далее… И вот один человек говорит что он прекрасно ведет разработку на виртуальном сервере через IDE.
И я вот к стыду своему не знаю как это возможно.
PHPStorm имеет настройку Deployment, но она лишь синхронизирует локальную папку с папкой на сервере. А значит чтобы начать работать нужно сначала развернуть MODX у себя на компьютере (а это значит нужно использовать опять таки локальный сервер). Плюс насколько я знаю эта настройка работает либо вручную (сменил код файла, выгрузил на сервер) либо автоматически при сохранении. Но ведь MODX это целая система, изменение одного файла затрагивает динамически и другие…
Короче говоря, простите за много букв, я лишь стремлюсь избежать неконструктивных ответов и описать побольше информации изначально.
Жду Вашей помощи и Ваших опытов.
Спасибо.
Опишу почему возник такой вопрос.
По мере моего погружения в MODX меняется мой подход к разработке сайта. Да, он меняется медленно, но меняется. Все началось от того, чтобы писать код в админке и говорить «Ух ты, что это за квадратные скобки и телевизоры». Пропущу промежуточные этапы, последний сайт я стараюсь разрабатывать в IDE используя синтаксис Fenom, но делаю это на локальном Open Server (пробовал XAMMP но он торомзит жутко). Какой подход я использую — пользуясь тем, что Fenom поддерживает работу с файлами через привязки, я создаю в core/elements нужные мне папки где храню шаблоны, чанки и так далее. Чтобы не заморачиваться каждый раз с обращением к ним через привязку я одновременно в админке создаю статический документ со ссылкой на мой файл и таким же именем и тогда получается песня. Хочу могу редактировать через админку, могу в IDE и плюс вызывать чанк шаблон или сниппет могу просто по имени или по идентификатору. Тогда нет проблем — я закидываю в IDE папку с проектом, она индексируется и программа проявляет всю свою силу — подсказывает мне существующие свойства и методы и прочие плюшки. Но как оказалось, локальный сервер не самая надежная среда, много глюков и так далее… И вот один человек говорит что он прекрасно ведет разработку на виртуальном сервере через IDE.
И я вот к стыду своему не знаю как это возможно.
PHPStorm имеет настройку Deployment, но она лишь синхронизирует локальную папку с папкой на сервере. А значит чтобы начать работать нужно сначала развернуть MODX у себя на компьютере (а это значит нужно использовать опять таки локальный сервер). Плюс насколько я знаю эта настройка работает либо вручную (сменил код файла, выгрузил на сервер) либо автоматически при сохранении. Но ведь MODX это целая система, изменение одного файла затрагивает динамически и другие…
Короче говоря, простите за много букв, я лишь стремлюсь избежать неконструктивных ответов и описать побольше информации изначально.
Жду Вашей помощи и Ваших опытов.
Спасибо.
Комментарии: 17
Спасибо. Попробую завтра разобрать детально, но меня смущает — «Основной инструмент — домашний сервер с Ubuntu, настроенной по собственной заметке, с доступом через SSH и SFTP. Все проекты располагаются к корне сайта, каждый в своей директории. При этом, директории замонтированы внутрь сайта через --bind.»
Меня убедили, что домашний сервер это фигня. Я использую Windows, у него нет понятия монтирования, это фишка linux систем, особенно Ubuntu систем…
Меня убедили, что домашний сервер это фигня. Я использую Windows, у него нет понятия монтирования, это фишка linux систем, особенно Ubuntu систем…
...но меня смущает — «Основной инструмент — домашний сервер с Ubuntu...
Я бы назвал это нативной средой. НА windows-решениях, типа XAMMP или Денвер, или другой WAMP — не то, никак и куча ошибок + отсутствие нормальной работоспособности.Купите хард на 60Gb и поставьте туда Ubuntu. Переключайтесь между операционками, если требуется какая-то из них.
Купите у любого облачного провайдера виртуальную машину, к примеру DigitalOcean, Vscale и работайте в ней.
Да, потребуются знания, чтобы поставить и настроить сервер, но поверьте, оно того стоит.
Спасибо, Stan, но Денвер уже лет сто не обновляется. Она даже PHP 5.6 вроде не поддерживает, а многие компоненты MODX требуют PHP 7.0 ( к примеру Локализатор, который я использую)
XAMMP ( как я специально описывал в тексте своего вопроса — работает в сто раз хуже чем Open Server)…
Да и вопрос был в том — как работать на виртуальном сервере через IDE без всяких локальных серверов…
XAMMP ( как я специально описывал в тексте своего вопроса — работает в сто раз хуже чем Open Server)…
Да и вопрос был в том — как работать на виртуальном сервере через IDE без всяких локальных серверов…
У Василия была хорошая инструкция, я вроде в первой ссылке привёл её:)
Да и информации в сообществе много
Да и информации в сообществе много
Все что я написал выше и касалось инструкции Наумкина. Завтра изучу подробнее, но мне кажется инструкция 2013 года сейчас не очень актуальна. Тогда еще не было парсера pdoTools, не было Fenom и (о Боже) Наумкин признавался, что чего-то не знает.
Насчет информации — не поверите. Рою!!! Разными поисковиками, поиском на этом сайте… ничего путевого не нашел, поэтому и решил написать этот вопрос.
Насчет информации — не поверите. Рою!!! Разными поисковиками, поиском на этом сайте… ничего путевого не нашел, поэтому и решил написать этот вопрос.
Я поставил на комп Ubuntu, настроил на нем веб-сервер. У меня что на VPS что дома абсолютно одинаковые системы.
Да и кстати если хотите работать в веб, бросайте эту винду. Я намучался с ней, теперь на Ubuntu горя не знаю.
Да и кстати если хотите работать в веб, бросайте эту винду. Я намучался с ней, теперь на Ubuntu горя не знаю.
Я последний год работаю примерно так:
1) Создаю сайт с тарифом «Разработка» на modhost.pro. Это позволяет отказаться от тормозов на локальном сервере, плюс заказчик или другие работники (верстальщики, например) сразу могут видеть работу или вносить результаты своей работы
2) В NetBeans (да, PHPStorm мне что-то не зашел пока что :) ) создаю проект с удаленным сервером, выкачиваю пустую папку assets и пустую папку core. Тем самым не надо выкачивать целый сайт, только нужные файлы.
IDE ведет синхронизацию по FTP, поэтому проблем нет с такого рода деплоем.
3) В assets создаю подпапку templates, где храню весь фронтенд — js, sass, css, libs, svg, fonts, img.
4) В core создаю папку elements, в ней подпапки «chunks», «snippets», «plugins», «templates». Получается примерно так:
5) Включаю Fenom в настройках pdoTools.
6) Привязку к чанкам и сниппетам в админке не веду, все только через файловые элементы Fenom, никаких статических файлов в админке. Только если чанки каких-то допотопных компонентов, типа Gallery, которые не очень умеют с pdoTools.
7) Работаю и радуюсь. На modhost очень удобно сделаны бэкапы, работа в phpMyAdmin и всякое другое, локальным сервером уже не знаю, сколько не пользовался.
1) Создаю сайт с тарифом «Разработка» на modhost.pro. Это позволяет отказаться от тормозов на локальном сервере, плюс заказчик или другие работники (верстальщики, например) сразу могут видеть работу или вносить результаты своей работы
2) В NetBeans (да, PHPStorm мне что-то не зашел пока что :) ) создаю проект с удаленным сервером, выкачиваю пустую папку assets и пустую папку core. Тем самым не надо выкачивать целый сайт, только нужные файлы.
IDE ведет синхронизацию по FTP, поэтому проблем нет с такого рода деплоем.
3) В assets создаю подпапку templates, где храню весь фронтенд — js, sass, css, libs, svg, fonts, img.
4) В core создаю папку elements, в ней подпапки «chunks», «snippets», «plugins», «templates». Получается примерно так:
5) Включаю Fenom в настройках pdoTools.
6) Привязку к чанкам и сниппетам в админке не веду, все только через файловые элементы Fenom, никаких статических файлов в админке. Только если чанки каких-то допотопных компонентов, типа Gallery, которые не очень умеют с pdoTools.
7) Работаю и радуюсь. На modhost очень удобно сделаны бэкапы, работа в phpMyAdmin и всякое другое, локальным сервером уже не знаю, сколько не пользовался.
Дмитрий, спасибо. Завтра свежим умом прочту и осознаю. Но чую — истину глаголите.
Да, и хранение чанков в файлах уберегает от проникновения заказчиков в чанки и их порчу. Конечно, можно запретить это, но когда заказчик сам по себе какашка, то может возмущаться, почему это у него ограниченные права. Ну собственно, один такой на прошлой неделе из-за своего любопытства удалил часть чанков, касающихся отправки писем и заявки полдня не приходили с сайта. Поэтому, лучше скрывать в файлах, либо не пускать туда вовсе, да.
Александр, плюсую за решение Дмитрия, если не можете пока в VDS или виртуалку с линуксовой средой, то это самое оптимальное решение для вас.
Еще маленький совет по пути, не знаю за NetBeans, но в PHPStorm можно «подтянуть» исходники MODX через т.н. External Libraries, тогда у вас будет автокомплит, индекс свойств и методов и прочие «плюшки».
Еще маленький совет по пути, не знаю за NetBeans, но в PHPStorm можно «подтянуть» исходники MODX через т.н. External Libraries, тогда у вас будет автокомплит, индекс свойств и методов и прочие «плюшки».
Почти всё, что я придумал на данный момент — коротенько описано вот здесь.
Подробнее постараюсь рассказать на MODXpo в Минске через 2 недели.
Подробнее постараюсь рассказать на MODXpo в Минске через 2 недели.
Спасибо.
Почитайте эту статью ещё: bezumkin.ru/training/course1/2099/
Там как раз есть подключение MODX через External Libraries без его установки на локальной машине — нужен только дистрибутив.
Там как раз есть подключение MODX через External Libraries без его установки на локальной машине — нужен только дистрибутив.
Могу ответить просто, приезжайте на MODXpo 2017 в Минск, там будут абсолютно все те люди, которые практикуют такой подход, они и смогут подроюно объяснить и ответить на все вопросы, даже самые мелкие. :)
Информация тут 2017.modxpo.eu/
Информация тут 2017.modxpo.eu/
meeeh… у меня слабая машинка для ide(, что NetBeans, что PHPStorm заставляют моего старичка дико логать и греться а в последствии перезагружаться. Но зато sublime 3 может частично заменить ide. Например если проект пишется от нуля, то я использую эту болваночку, при использовании pug и выполнении gulp build --el можно получить шаблоны в папке «elements/templates» и уже нарезанные чанки в «elements/chunks» разложенные по папочкам. Для выгрузки использую sftp (это компонент sublime, но на днях добавлю выгрузку сразу из консоли), он позволяет работать в две стороны. Про поддержку разного рода синтаксиса и полезных плюшек в виде сторонних компонентов вообще молчу, т.е. там и поддержка гита и автокоплит и много чего еще а если этого нет, то можно допилить самому.
Разрабатываю сайт локально через SFTP на виртуальной машине идентичной продакшену, из IDE отправляю коммиты в bitbucket-репозиторий и уже с репозитория деплою на прод.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.