Базовые вопросы по LiveStreet CMS

Всем привет! Я сейчас в поиске нового движка для своих разработок. С опенсорными php-движками как-то грустно все сейчас. Активно развиваются фреймворки, а КМС или совсем хилые, или очень устаревшие. Drupal 8 не оправдал надежд. Собирался даже свой движок писать, от отчаянья.
Случайно наткнулся на Ливстрит. В целом нравится. Хоть и плохо, что нет поддержки современных стандартов PSR. Но есть некоторые базовые вещи по структуре, которые не очень понятны. И прошу пояснить, кто может, или накидайте ссылок, где можно почитать, честно искал но не нашел.

Вот есть архитектура MVC. Про V и C я понял, V — это модуль на базе Smarty, а C здесь называются ActionXXX. А вот с M не очень понятно. Есть ModuleXXX, MapperXXX и EntityXXX. Это все к модели относится? А зачем тогда такое разделение было задумано? Наверно есть, какие-то причины?

И еще посоветуйте где почитать про ORM. А то нашел много статей про это на сайте, но хочется с самого начала понять как работат. Мне нравится как в yii это сделано. Но здесь сильно отличается.

Мысли об Object-Relational Mapping в LiveStreet

Хочу предложить свои идеи для развития MVC/ORM.

Замечу, что исторически сложилось так, что MVC в LiveStreet весьма отличается от привычного представления в других фреймворках.
Модель здесь заменяется связкой модуль+сущность+маппер, причем, если сущность представляет из себя стандартный ООП-объект с набором свойств и методов, то модули и мапперы, это просто наборы функций для работы с определенными типами данных, что скорее похоже на библиотеки из структурного программирования, чем на стандартный ООП.
Я не возьмусь судить хорошо это или плохо, у меня есть лишь предложения о том, как можно воспользоваться этим для создания эффективных отношений между объектами (модулями).

Читать дальше →