Получение данных POST в контроллере или модели

#codeigniter

#codeigniter

Вопрос:

Я изучаю CodeIgniter. Мне интересно, какой из них лучше всего использовать для получения данных POST формы при обновлении базы данных: из контроллера или из модели?

Если мы получаем данные POST в контроллере, то нам нужно передать данные в качестве аргументов функции Model, но функция Model может использоваться в других формах. Если мы получим данные POST непосредственно в модели, то мы можем исключить этап передачи аргумента, но это ограничено некоторыми конкретными формами.

Какой из них является наилучшей практикой?

Спасибо.

Ответ №1:

Лучше всего обрабатывать ваш код представления (ответы формы и т.д.) В ваших контроллерах, А затем передавать все, что вам нужно, в качестве параметров вашим моделям.

Это обеспечивает максимальное повторное использование, поскольку ваша модель (и ее методы) могут быть использованы повторно, если, например, у вас другое представление и контроллеру требуется эта модель, которая обрабатывает формы по-разному (например, API).

Ответ №2:

Наилучшей практикой было бы выполнять всю обработку данных в контроллере и на уровне обслуживания, а затем передавать только требуемые данные либо в модальный, либо в Представление. Таким образом, у вас есть контролируемый поток информации и четкое разделение между концепциями. Объекты модели должны использоваться только как объекты данных через ORM, и ничего более. Контроллер должен содержать всю бизнес-логику.