Я нахожусь в начале своего пути "Learn MVC".В принципе, у меня нет больших проблем с объектно-ориентированным программированием, однако есть один технический аспект, требующий пояснения.Кажется, моя теория недостаточно хороша.
В настоящее время я использую фреймворк KohanaPHP, версия 3.
Пример ситуации: у меня есть веб-сайт, где пользователь может отправить статью.
Итак, у меня следующая структура:
classes/
/controllers/
article.php
/models/
articles.php
Пока все хорошо.У меня нет проблем с моделями, расширяющими Kohana_Model, однако я не уверен, правильно ли я использую модели, использующие ORM.
В основном при использовании моделей, расширяющих Kohana_Model, я помещу все логические операциив модели.Должен ли я сделать то же самое для моделей, использующих ORM?Во многих примерах в сети я видел контроллеры, которые выполняли логические операции над пользовательским вводом / данными из базы данных, что, на мой взгляд, неверно.
Допустим, мне нужно получить несколько строк из базы данных, поэтому я создаю правильный методмодель и возвращение объекта.Я думаю, что это правильно, не так ли?
По сути, все операции над пользовательским вводом / данными (выбор из базы данных, вставка в базу данных, проверка) я добавляю в модели.Вот так я понимаю шаблон проектирования MVC.Модели должны позаботиться обо всех «механических» операциях, а контроллер - это всего лишь «мост» между моделями / видами и это «передний» двигатель.
Это правильный подход?
Я знаюэто может быть глупым вопросом для более продвинутых пользователей, однако я хочу изучать только хорошие практики.Если кто-нибудь сможет дать какое-то разъяснение, я буду в восторге.