Задать вопрос
fl3xice
@fl3xice
Люблю что-то придумывать

Что мне изменить в этом проекте?

Я Пишу свой framework, в частности для себя, но если кто-то хочет попользоваться, логично что я не против.
Так вот : я пишу его уже так давненько и мне нужны советы по устранению ненужного кода более оптимизированных функции ну и вообще что бы было лучше сделать.

Ссылка на репозиторий : https://github.com/flowerphp/flower

Насчёт оформления readme.md не придираться я пока только пишу framework как только допишу оформлю его как надо

Я бы не хотел видеть ответы или коментарии насчёт того что есть уже хорошие движки и т.д, как я и сказал пишу в частности для себя и для своих будущих проектов
  • Вопрос задан
  • 925 просмотров
Подписаться 2 Простой 2 комментария
Решения вопроса 2
glaphire
@glaphire Куратор тега PHP
PHP developer
1) в репозитории у Вас получился скорее скелетон, а не пакет фреймворка, у папки шаблонов должно быть осознанное предназначение, нп. приветствующая страница, папка public тоже обычно отсутствует
2) именование интерфейсов как iSomething морально устарело и неправильно по PSR (для классов тоже, там был класс reCaptcha)
3) тесты должны отражать тесты на функционал фреймворка, пока там заглушки
4) непонятен слой Promises, под ним там видно много классов, которые отвечают за разные вещи, стоило бы их структурировать, приставка extreme тоже не отражает предназначение классов
5) странно видеть в core класс рекапчи, это типично клиентская задача и фреймворк не должен ее решать
6) сейчас есть тенденция подключать сторонние orm во фреймворк, потому что проектирование абстракций для базы с нуля это огромная работа
Ответ написан
index0h
@index0h
PHP, Golang. https://github.com/index0h
1. Это не фреймворк, а скелет обросший жиром.
В отличии от фреймворка, как внешней зависимости другого вендора, ваш скелет - полностью под вендорингом конечного инженера. Плохо то, что обновляя версию скелета риски что-то сломать на много выше, чем для внешней зависимости.

2. В public нету точки входа index.php, я очень надеюсь что это просто ошибка, а index.php в корне проекта просто забыли удалить.

3. Что делать, если нужно 2 разных подключения к БД, а не одно?

4. Если я правильно понимаю, то что вы называете promise - это DTO + Builder. Очень похоже на лишние сущности.

5. Сессии в файлах - это очень странное решение. Как только вам потребуется завести еще один инстанс - все пойдет по ***де. Обычно сессии хранятся в memcached / redis как раз для того, что бы обеспечить горизонтальное масштабирование.

Очень рекомендую почитать на досуге https://github.com/index0h/php-conventions
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы