MotorCMS

+4
Под капотом очень удобная ORM на файлах, есть связи и жадные загрузки, сложные запросы, обновления, удаления, сортировки, пагинация
Все на итераторах
Код https://github.com/visavi/motor-orm/blob/master/src/Builder.php
Есть миграции
Код https://github.com/visavi/motor-orm/blob/master/src/Migration.php
Коллекции
https://github.com/visavi/motor-orm/blob/master/src/Collection.php
Очень удобный валидатор данных
https://github.com/visavi/motor/blob/master/app/Services/Validator.php
Требования PHP 8.0 (Базы данных не требуются)
Минимум зависимостей у композера
Все данные хранятся в csv файлах, можно править даже руками или через excel к примеру

Пример кода
public function index(Response $response): Response
{
    $stories = Story::query()
        ->orderByDesc('created_at')
        ->with(['user', 'poll'])
        ->paginate(setting('story.per_page'));
    
    return $this->view->render(
        $response,
        'stories/index',
        compact('stories')
    );
}
php, cms
3
437

Комментарии 4

+1
Самый лучший web-мотор сразу прямо после wap-мотора :respekt
0
Выглядит многообещающе
0
Шикарно :happy
0
Спасибо за сие творение 🤗
Для выполнения действия необходимо авторизоваться!
Активность
0
В будущем возможно сделаю, пока не получается время выделить 08.09.2023 18:50
0
Вот ещё бы модерацию к комментариям к статьям 02.09.2023 19:39
0
crew, это всего лишь один из способов, чтобы не разрывать цепочку запросов
Можно делать как ты и написал, кому как нравится 23.06.2023 16:49
0
Спорное решение.
Без нее конструкция кажется более читаема (точно всем будет точно понятна), да и причины реализации не ясны - не кажется что без нее написать были какие-то трудности.
...
23.06.2023 12:03
0
Хорошая новость! 20.06.2023 17:28
+1
Самый лучший web-мотор сразу прямо после wap-мотора :respekt 29.08.2022 06:27
+1
Вот это уже совсем другое дело :klass 06.09.2022 10:14
+1
Со временем постараюсь сделать админские настройки 28.12.2022 02:26
+1
Иногда я спрашиваю себя - когда же я освою php, ответ приходит сам собой:

Наверно! В следующей жизни! Когда я стану кошкой, на - на, на на 04.01.2023 03:28
+1
Сейчас хочу сделать чтобы можно было прокинуть роуты в контроллеры, чтобы можно было указывать не ссылки типа /stories имя роута, чтобы легко можно было поменять главную на список статей
Остальное... 07.03.2023 01:42