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

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

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

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

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

Я бы не хотел видеть ответы или коментарии насчёт того что есть уже хорошие движки и т.д, как я и сказал пишу в частности для себя и для своих будущих проектов
  • Вопрос задан
  • 899 просмотров
Решения вопроса 1
glaphire
@glaphire Куратор тега PHP
PHP developer
1) в репозитории у Вас получился скорее скелетон, а не пакет фреймворка, у папки шаблонов должно быть осознанное предназначение, нп. приветствующая страница, папка public тоже обычно отсутствует
2) именование интерфейсов как iSomething морально устарело и неправильно по PSR (для классов тоже, там был класс reCaptcha)
3) тесты должны отражать тесты на функционал фреймворка, пока там заглушки
4) непонятен слой Promises, под ним там видно много классов, которые отвечают за разные вещи, стоило бы их структурировать, приставка extreme тоже не отражает предназначение классов
5) странно видеть в core класс рекапчи, это типично клиентская задача и фреймворк не должен ее решать
6) сейчас есть тенденция подключать сторонние orm во фреймворк, потому что проектирование абстракций для базы с нуля это огромная работа
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
l3ftoverz
@l3ftoverz Куратор тега PHP
Нет ничего лучше, чем музыка DGD.
мне нужны советы
Чтобы их дать, нужно поставить это, попробовать поюзать в реальных кейсах, посмотреть код. Правда думаешь, что кому-то просто так оно нужно? Тем более документации или банального API - нет. Сидеть разбираться с твоим виденьем создания архитектуры и написания кода? Тоже такое себе удовольствие.

Ну и конечно правда - зачем оно всё так, если можно взять нужный пакет из условной Symfony, где всё по более-менее общепринятым стандартам, PSR там всякие, обкатано, ментейнится активно и всё такое.

catch (FileNotFoundException $e) {
  // If error
}
Ответ написан
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
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
06 авг. 2020, в 22:18
3000 руб./за проект
06 авг. 2020, в 22:15
60000 руб./за проект
06 авг. 2020, в 21:39
1000 руб./за проект