Эмулятор посредников для MODX


Всем привет! Хочу представить вам моё новое дополнение под названием Middlewares. Это эмулятор посредников. Как вы знаете MODX построена по концепции событийно-ориентированного программирования. Т.е. взаимодействие с системой происходит по наступлению события. Но большинство современных фреймворков используют механизм посредников. Да и разработчики MODX добавили этот функционал в 3-ю версию. Но увидим ли мы её когда-нибудь, вопрос.


Главной причиной создания данного пакета послужило большое желание попробовать себя в роли видео подкастера. Я сделал серию видеоуроков о создании компонента MODX на основе макета modExtra. Я реально получил от этого процесса удовольствие. :)

Для поклонников концепции файловых элементов могу сказать, что теперь в большинстве случаев вы можете отказаться от плагинов. Просто создаёте класс посредника, указываете его в системной настройке или в ТВшке ресурса, и всё. Также легко делается программная авторизация пользователя (т.е. доступ к ресурсам). Не нужно никаких групп ресурсов и т.п. Просто в посреднике проверяете права и либо пропускаете запрос дальше, либо заворачиваете его.

На этом всё. Жду ваших отзывов.
09 сентября 2017, 17:39    Сергей Шлоков   G+  
6    508 +18

Комментарии (13)

  1. Николай Савин 09 сентября 2017, 20:18 # +1
    Читаю middleware — вижу Laravel.
    За видео — отдельное спасибо.
    1. Сергей Шлоков 09 сентября 2017, 21:12 # +1
      Читаю middleware — вижу Laravel.
      Хорошее зрение :)
      Посредники есть в yii2 (фильтры называются), есть в codeigniter (ставятся отдельным пакетом), в slim 3 (на нём MODX 3 сделан).
      1. Николай Савин 09 сентября 2017, 23:37 # 0
        Откуда информация по MODX3?
          1. Антон Фомичёв 14 сентября 2017, 10:00 # 0
            К сожалению, никаким слимом там и не пахнет:)) И, по-моему, разработка подзаброшена…
          2. Сергей Шлоков 10 сентября 2017, 07:23 # 0
            Вот что писали про MODX 3 еще 2 года назад.
            1. Николай Савин 10 сентября 2017, 22:09 # 0
              Надеюсь мы все таки уйдем от extJS
              1. SEQUEL.ONE 11 сентября 2017, 00:29 # 0
                Полазал на гитхабе в ветке 3.x и похоже этого не случится:

                $this->addJavascript($mgrUrl.'assets/modext/core/modx.view.js');
        1. Антон Фомичёв 14 сентября 2017, 09:56 # 0
          Читаю middleware — вижу Laravel
          Почему только Ларавель? Вооьще говоря, есть у нас наше все — PHP-FIG. А у них есть драфт PSR-15, конкретно про middleware, и действующий PSR-7 про обработку запросов и выдачу ответов. Это если только про php говорить.
          Так-то эта концепция далеко не нова:))
        2. Василий Столейков 09 сентября 2017, 22:02 # +1
          Круто, спасибо, особенно за видео!
          1. Sem 10 сентября 2017, 10:08 # +3
            Спасибо за видео. И раз Вы решили себя попробовать в качестве видео-подкастера, в первом уроке есть задублированный кусок, где-то на 4:45 начало — дубль начинается на 6:10
            А так очень круто получилось, сейчас не часто можно увидеть подробные руководства от опытных разработчиков MODX да ещё и в видео формате) Ждём от Вас новых выпусков.
            1. Сергей Шлоков 10 сентября 2017, 10:59 # +2
              Спасибо.
              в первом уроке есть задублированный кусок, где-то на 4:45 начало — дубль начинается на 6:10
              Классика — первый блин комом. При компиляции видео случайно добавил один кусок 2 раза. Поправил, спасибо.
            2. Сергей Шлоков 12 сентября 2017, 08:07 # +1
              Начал писать видео по созданию обработчиков событий и оказалось, что мои исправления бага в методе addEventListener двухлетней давности в ветку 2.5.x не попали. Они остались в ветке 2.х. Так что откладываем это до времени исправления этого метода. Хотя первая часть видео, где создается этот функционал, готова. А вот та часть, где пробуем их запустить, не дописана.

              П.С. По большому счету, если кому интересен сам процесс, а не результат, то я могу поправить метод addEventListener и дописать видео. Но пакет работать не будет до исправлений ядра MODX.
              Вы должны авторизоваться, чтобы оставлять комментарии.