Modx или Evolution CMS 2.0 на компонентах Laravel
Разработчики объявили о выходе альфа-версии Evolution CMS на компонентах Laravel.
Что такое Evolution CMS 2.0? Этот все тот же MODX Evolution, под капотом которого целый ряд компонентов, на которых собран и фреймворк Laravel. Это позволяет использовать события, логирование, файловую систему, конфиги, консоль, миграции, сиды, шаблонизатор Blade, модели Eloquent, Observers, ServiceProvider…
Немного истории — первый релиз MODX CMS вышел в 2004 году.
С 2012 года после выхода MODX Revolution, версия Evolution активно развивается силами сообщества MODX Evolution, не уступая в развитии новой ветке. Внимание, это не официальная версия от Modx! Не путайте эти cms.
В июле 2017 вышел первый релиз Evolution CMS с переработанным дизайном и целым рядом новых возможностей, воплотивших пожелания сообщества.
В июне 2018 года принято решение о том, чтобы переписать Evolution CMS с использованием компонентов Laravel, но с обязательным условием сохранения полной обратной совместимости. А в декабре 2018 состоялся первый релиз Evolution CMS 2.0.
Очень важным моментом было условие обратной совместимости со старыми версиями системы и по утверждению разработчиков это получилось. Можно обновить сайт с версии 0.9.6 выпущенной в 2005 году до новой 2.0. Поправить придется только тот код, который был написан без учета API системы. Все стандартные дополнения также обновляются и функционируют на новой версии.
Почему именно Laravel? Обширная документация, активная поддержка, множество готовых пакетов, которые можно будет использовать и на Evolution 2.0
В ветке 2.0 можно будет работать по-старому. Старые конструкции будут и дальше работать, но всю гибкость нововведений вряд ли раскроют. Банальный переход от массива $modx->config к методу $modx->getConfig() уже позволит манипулировать системными настройками движка, которые берутся из базы. А совершить такой переход в сниппетах можно уже сейчас, не обновляясь до версии 2.0, т.к. метод getConfig() есть и в версии 1.4. Плагины на события можно вешать как раньше через админку или через файлы. Все это совершенствует командную разработку, упрощает ведение проекта через git. Разработчики оценят удобство, для остальных внешние изменения не будут столь значительными.