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