Всем доброго времени суток. Изучив множество php фреймворков таких как Laravel, symphony, yii я начал задумываться о написании собственного аналога. Причин на это множество, но я назову основные на мой взгляд: 1 - долгое время отклика приложения по сравнению с нативными php скриптами 2 - проблемы с SQL базами данных при организации связей в моделях. Ни один из фреймворков не лишён проблемы n + 1 при запросах к бд. Что могу предложить я… 1 - максимально простой и быстрый фреймворк. Скорость работы проверена реальным нагрузочным тестированием, которое показало в среднем +20% по сравнению с Laravel и symphony и +30% по сравнению с Yii 2 - отсутствие проблемы n + 1 при связях один к одному, один ко многим, многие ко многим и многие к одному. 3 - полноценный паттерн фильтр, репозиторий, наблюдатель, сервис из коробки и т.п. 4 - базовые CRUD операции из коробки 5 - 3 уровня кеширования из коробки в файл или Redis 6 - Консольные команды и очереди на их основе Из минусов, узкая направленность фреймворка, т.е. фреймворк используемый для написания REST API в json не сможет отдавать ответы в HTML или XML и т.п. Т.е. если изначально веб сервис задумывался для API JSON то он и будет работать только так и ни как иначе. Если же это небольшой сайт визитка и он генерирует HTML страницы, то он не сможет отдавать json или XML без некоторых доработок в контроллере. Как вам такая идея? Имеет ли место быть чему-то подобному? Я понимаю, что все фреймворки имеют хорошую документация и комьюнити, но ведь и они начинали с полного нуля.
9 комментов
· 17.04.2025
Было бы интересно взглянуть. Как насчет сделать приложения по реальным бизнес требованиям на 2-3 фреймворках и сравнить и код и скорость. Тогда была бы понятна выгода использования Вашего решения
0
ответить
коммент удалён
· 17.04.2025
Проект построен на реальных бизнес-процессах. Изначально было написано на Laravel, затем переписано на Symphony но в итоге переписали все на свой фреймворк по мотивам Laravel. Прирост производительности на лицо. Проект выдерживает без проблем по 300000 запросов в секунду в режиме 24/7. Большей нагрузки пока не было. Но на нагрузочном тестировании результаты переваривали за 500к. Среднее время ответа при 100 сущностях без кеша не более 54 мс. С кешем Redis не более 25 мс
0
ответить
ответ удалён
· 17.04.2025
Супер конечно, но почему нельзя реализовать разный вид респонса? Очень нужно иногда возвращаться и html и json к примеру.
0
ответить
коммент удалён
· 17.04.2025
При дальнейшем развитии проекта это все безусловно будет реализовано. Сейчас уже реализован ответ в json и XML. В данный момент фреймворк более заточен на бекэнд API. Думаю к концу года его полностью покрыть тестами и реализовать ответ в HTML
0
ответить
ответ удалён
· 17.04.2025
Круто! А можно его уже где-то посмотреть, потыкать?
0
ответить
ответ удалён
· 17.04.2025
В течении 1-2 недель переработаю SQL Builder и выложу проект на гит. Если действительно интересно прикреплю ссылку под постом
0
ответить
ответ удалён
· 17.04.2025
Да, интересно) Может потом получится законтрибьютить что-то, буду рад помочь)
0
ответить
ответ удалён
· 17.04.2025
🤝
0
ответить
ответ удалён
· 05.03
PHP сейчас устаревшим считается, думаю вы сможете вдохнуть новую жизнь в PHP. P.S. Добавь простые асинхронности. Разговор с серваком конечно хорошо, но иногда полезно иметь не одного рабочего а несколько
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
коммент удалён