Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- >>626291
- http://pastebin.ru/vKfLkBPw
- https://github.com/fxsloker/Student
- >Ты случайно не думаешь ли что число моделей = числу контроллеров? Если так то ты плохо понял зачем они нужны. Контроллер = раздел сайта или страница, модель = сущность в БД. между ними не обязательно должно быть соотношение 1 к 1.
- Теперь не думаю.
- >https://github.com/fxsloker/Student/blob/master/app/Controllers/FrontController.php
- >Название неудачное так как можно подумать что он имеет какое-то отношение к паттерну Front Controller. Надо переименовать.
- Я и хотел сделать паттерн FrontController. Но сейчас загуглил, посмотрел примеры реализации. FrontController это тот же роутер что ли? Он вызывает нужный контроллер и экшен. Значит мой роутер уже FrontController?
- >Действия, предназначеннные для вызова снаружи стоит как-то пометить, например добавив слово Action в название.
- Сделал.
- >https://github.com/fxsloker/Student/blob/master/app/config.php#L9
- >Префикс таблиц предлагаю выпилить
- Сделал.
- >https://github.com/fxsloker/Student/blob/master/app/students.sql#L37
- > `year` tinyint(4) NOT NULL,
- >В MySQL есть тип YEAR, перечитай-ка список типов колонок
- Ты прав. Сделал.
- > `groupNumber` char(3) NOT NULL,
- >По моему 3 символов не хватит по условиям задачи.
- Сделал.
- >https://github.com/fxsloker/Student/blob/master/app/Router.php#L17
- >Попробуй это сделать через sprintf, может будет читабельнее
- Не понял, что не читабельно. Сделал, вроде также читабельно как и раньше.
- >https://github.com/fxsloker/Student/blob/master/app/Router.php#L34
- >Что за странная проверка на !empty? И что вернется если оно empty?
- Просто увидел где-то и повторил.
- >Также, тебе дополнительное задание. Как ты наверно знаешь, при всяких ошибках в PHP вроде неправильно написанной переменной PHP лишь вывводит варнинг и продолжает работу скрипта. Это плохо. Переделай код так, чтобы любой варнинг или нотис приводил к выбросу исключения, как это сделать, написано например тут: http://php.net/manual/ru/class.errorexception.php
- Сделал.
- ОП, я запилил View, даже вывел кое-что.
- Установил composer, и сделал автозагрузчик. Благо я с ним раньше много работал, ничего сложного.
- Я все равно не понимаю. Вот есть у меня в контроллере addAction, он создает модель студента и запускает ее метод add, а там вызывается метод класса работы с БД тот же add? Или как? Мне не нравится это дублирование. И я не знаю других способов. Давай вот на этом моменте подробнее остановимся.
- А еще про 404 ошибку, думаю надо отдельный файл шаблона создать, и чтобы роутер вызывал метод indexAction в контроллере с аргументом '404' например. Верно?
Add Comment
Please, Sign In to add comment