@vecherniy

Поможете оценить Интернет-магазин (MVC) на PHP?

Буду очень признателен, если вы оцените backend сайта и реализацию mvc
https://github.com/igoragnarek/mvc/tree/master
  • Вопрос задан
  • 286 просмотров
Решения вопроса 4
daemonhk
@daemonhk
ПсиХоПат
Ну а теперь, собственно, по коду...

1. Работать напрямую с $_POST в контроллерах то еще извращение, появится новое поле вы в контроллер полезете во все 100500 функций? Подсказка - используйте модель для этого.
2. Обрабатывать получаемые данные от пользователя, делая их более безопасными? Не, не слышал.
3. Функция mail отключена на многих хостингах.
4. Создавать новый экземпляр почтовика, передавая ему данные и шаблон письма? Тоже не слышал.
5. const DEFAULT = 6; - волшебное число, лучше передавать его при создании экземпляра модели.
6. getAvailabilityText() просто улыбнуло)))

Как говорится, лень разворачивать проект, но я на 99% уверен, что кроме стандартного CRUD там ничего нет. А сайты это не только эти ваши новомодные MVC, RBAC, Singleton и прочая хрень. В первую очередь это решение проблем конечного потребителя. Хотя да, на кой нам это надо, мы же играем в "выучи фрейм за неделю и начни получать штуку баксов ежедневно"...

В общем, удачи вам))
Ответ написан
@MaLuTkA_UA
Если это первое что написал то в принципе для начала не плохо, о и хорошего нечего нет. Вам нужно избавится от статического вызова методов. Сделать нормальное подключение к базе через паттерн одиночка, убрать бизнес логику с контроллера, подружиться с композером, начать использовать пространства имён и многое другое)
Ответ написан
DevMan
@DevMan
из того, что еще не отметили:
1. непоследовательность в код-стайле. не критично, но глаз режет.
2. шаблонизаторы? не, не слышал. вот это уже плохо.
3. роуты - шняга, куча дублирующих строк. при подобном подходе, они и не нужны, можно все описать в реврайтах веб-сервера.

в целом: для новичка вполне неплохо. если писали сами, а не копипастили.
Ответ написан
Комментировать
dmitriylanets
@dmitriylanets
веб-разработчик
mvc/components/AdminBase.php
$user = User::checkLogged();
- статика плохо
die('Access denied');
- тоже зло, решается выбросом исключения и его ловли в одной точке

mvc/components/Autoload.php
- такие задачи может решить компосер, и он поможет в будущем

mvc/components/Cart.php
- статические методы? зачем? не тестируется, зло
$sess_array = $_SESSION['products'];

mvc/components/Pagination.php
__construct($total, $currentPage, $limit, $index)
- указывайте типы переменных

и многое чего, шаблонизатора нет, статические вызвовы нет инъекций зависимостей, нет разделения на уровни Layers, нет работы с Responce Request, нет Psr, модели не модели по факту а сервисные классы
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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