Как вести разработку в IDE на виртуальном сервере?

Господа, если Вас не раздражает этот «глупый» вопрос и Вы находите в себе силы поделиться своим опытом — буду очень признателен более менее детальной инструкции, как Вы работаете с шаблонами, чанками, сниппетами и плагинами через IDE, если сайт расположен на виртуальном сервере?

Опишу почему возник такой вопрос.
По мере моего погружения в MODX меняется мой подход к разработке сайта. Да, он меняется медленно, но меняется. Все началось от того, чтобы писать код в админке и говорить «Ух ты, что это за квадратные скобки и телевизоры». Пропущу промежуточные этапы, последний сайт я стараюсь разрабатывать в IDE используя синтаксис Fenom, но делаю это на локальном Open Server (пробовал XAMMP но он торомзит жутко). Какой подход я использую — пользуясь тем, что Fenom поддерживает работу с файлами через привязки, я создаю в core/elements нужные мне папки где храню шаблоны, чанки и так далее. Чтобы не заморачиваться каждый раз с обращением к ним через привязку я одновременно в админке создаю статический документ со ссылкой на мой файл и таким же именем и тогда получается песня. Хочу могу редактировать через админку, могу в IDE и плюс вызывать чанк шаблон или сниппет могу просто по имени или по идентификатору. Тогда нет проблем — я закидываю в IDE папку с проектом, она индексируется и программа проявляет всю свою силу — подсказывает мне существующие свойства и методы и прочие плюшки. Но как оказалось, локальный сервер не самая надежная среда, много глюков и так далее… И вот один человек говорит что он прекрасно ведет разработку на виртуальном сервере через IDE.
И я вот к стыду своему не знаю как это возможно.
PHPStorm имеет настройку Deployment, но она лишь синхронизирует локальную папку с папкой на сервере. А значит чтобы начать работать нужно сначала развернуть MODX у себя на компьютере (а это значит нужно использовать опять таки локальный сервер). Плюс насколько я знаю эта настройка работает либо вручную (сменил код файла, выгрузил на сервер) либо автоматически при сохранении. Но ведь MODX это целая система, изменение одного файла затрагивает динамически и другие…

Короче говоря, простите за много букв, я лишь стремлюсь избежать неконструктивных ответов и описать побольше информации изначально.

Жду Вашей помощи и Ваших опытов.
Спасибо.
Александр Мельник
23 октября 2017, 15:20
modx.pro
2
3 007
+2

Комментарии: 17

    Александр Мельник
    23 октября 2017, 22:35
    0
    Спасибо. Попробую завтра разобрать детально, но меня смущает — «Основной инструмент — домашний сервер с Ubuntu, настроенной по собственной заметке, с доступом через SSH и SFTP. Все проекты располагаются к корне сайта, каждый в своей директории. При этом, директории замонтированы внутрь сайта через --bind.»

    Меня убедили, что домашний сервер это фигня. Я использую Windows, у него нет понятия монтирования, это фишка linux систем, особенно Ubuntu систем…
    Stan Ezersky
    23 октября 2017, 22:43
    +1
    ...но меня смущает — «Основной инструмент — домашний сервер с Ubuntu...
    Я бы назвал это нативной средой. НА windows-решениях, типа XAMMP или Денвер, или другой WAMP — не то, никак и куча ошибок + отсутствие нормальной работоспособности.

    Купите хард на 60Gb и поставьте туда Ubuntu. Переключайтесь между операционками, если требуется какая-то из них.

    Купите у любого облачного провайдера виртуальную машину, к примеру DigitalOcean, Vscale и работайте в ней.

    Да, потребуются знания, чтобы поставить и настроить сервер, но поверьте, оно того стоит.
      Александр Мельник
      23 октября 2017, 22:49
      0
      Спасибо, Stan, но Денвер уже лет сто не обновляется. Она даже PHP 5.6 вроде не поддерживает, а многие компоненты MODX требуют PHP 7.0 ( к примеру Локализатор, который я использую)
      XAMMP ( как я специально описывал в тексте своего вопроса — работает в сто раз хуже чем Open Server)…
      Да и вопрос был в том — как работать на виртуальном сервере через IDE без всяких локальных серверов…
        Stan Ezersky
        23 октября 2017, 22:51
        0
        У Василия была хорошая инструкция, я вроде в первой ссылке привёл её:)
        Да и информации в сообществе много
          Александр Мельник
          23 октября 2017, 22:55
          0
          Все что я написал выше и касалось инструкции Наумкина. Завтра изучу подробнее, но мне кажется инструкция 2013 года сейчас не очень актуальна. Тогда еще не было парсера pdoTools, не было Fenom и (о Боже) Наумкин признавался, что чего-то не знает.

          Насчет информации — не поверите. Рою!!! Разными поисковиками, поиском на этом сайте… ничего путевого не нашел, поэтому и решил написать этот вопрос.
            Михаил
            24 октября 2017, 11:40
            +2
            Я поставил на комп Ubuntu, настроил на нем веб-сервер. У меня что на VPS что дома абсолютно одинаковые системы.
            Да и кстати если хотите работать в веб, бросайте эту винду. Я намучался с ней, теперь на Ubuntu горя не знаю.
      Дмитрий
      23 октября 2017, 22:52
      4
      +4
      Я последний год работаю примерно так:
      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 и всякое другое, локальным сервером уже не знаю, сколько не пользовался.
        Александр Мельник
        23 октября 2017, 22:57
        +1
        Дмитрий, спасибо. Завтра свежим умом прочту и осознаю. Но чую — истину глаголите.
          Дмитрий
          23 октября 2017, 22:59
          +2
          Да, и хранение чанков в файлах уберегает от проникновения заказчиков в чанки и их порчу. Конечно, можно запретить это, но когда заказчик сам по себе какашка, то может возмущаться, почему это у него ограниченные права. Ну собственно, один такой на прошлой неделе из-за своего любопытства удалил часть чанков, касающихся отправки писем и заявки полдня не приходили с сайта. Поэтому, лучше скрывать в файлах, либо не пускать туда вовсе, да.
            Азамат
            24 октября 2017, 10:39
            0
            Александр, плюсую за решение Дмитрия, если не можете пока в VDS или виртуалку с линуксовой средой, то это самое оптимальное решение для вас.

            Еще маленький совет по пути, не знаю за NetBeans, но в PHPStorm можно «подтянуть» исходники MODX через т.н. External Libraries, тогда у вас будет автокомплит, индекс свойств и методов и прочие «плюшки».
          Василий Наумкин
          24 октября 2017, 00:04
          +2
          Почти всё, что я придумал на данный момент — коротенько описано вот здесь.

          Подробнее постараюсь рассказать на MODXpo в Минске через 2 недели.
          Илья Уткин
          24 октября 2017, 11:11
          +1
          Почитайте эту статью ещё: bezumkin.ru/training/course1/2099/
          Там как раз есть подключение MODX через External Libraries без его установки на локальной машине — нужен только дистрибутив.
            Іван Клімчук
            24 октября 2017, 11:24
            0
            Могу ответить просто, приезжайте на MODXpo 2017 в Минск, там будут абсолютно все те люди, которые практикуют такой подход, они и смогут подроюно объяснить и ответить на все вопросы, даже самые мелкие. :)
            Информация тут 2017.modxpo.eu/
              man
              man
              24 октября 2017, 12:41
              +2
              meeeh… у меня слабая машинка для ide(, что NetBeans, что PHPStorm заставляют моего старичка дико логать и греться а в последствии перезагружаться. Но зато sublime 3 может частично заменить ide. Например если проект пишется от нуля, то я использую эту болваночку, при использовании pug и выполнении gulp build --el можно получить шаблоны в папке «elements/templates» и уже нарезанные чанки в «elements/chunks» разложенные по папочкам. Для выгрузки использую sftp (это компонент sublime, но на днях добавлю выгрузку сразу из консоли), он позволяет работать в две стороны. Про поддержку разного рода синтаксиса и полезных плюшек в виде сторонних компонентов вообще молчу, т.е. там и поддержка гита и автокоплит и много чего еще а если этого нет, то можно допилить самому.
                Роман Ильин
                25 октября 2017, 10:54
                0
                Разрабатываю сайт локально через SFTP на виртуальной машине идентичной продакшену, из IDE отправляю коммиты в bitbucket-репозиторий и уже с репозитория деплою на прод.
                  Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                  17