Есть несколько способов справиться с этим, но, как правило, он не считается согласованным для представления, вызывающего $this->CI->input->post( $item )
. Как правило, ваш взгляд лучше, если он ограничен только отображением данных, и единственные вызовы функций, которые он должен выполнять, это вызовы типа anchor
, lang
и др. Также лучше избегать того, чтобы ваши модели собирали данные извне, особенно когда они могут передаваться в информации (возможными исключениями являются данные о языке и конфигурации). Традиционное разделение задач в CodeIgniter заключается в том, что Модель хранит данные, а представление отображает данные, и Контроллер манипулирует ими (иногда это будут библиотеки, манипулирующие данными, а Контроллер вызывает библиотечные функции).
Предварительное заполнение является более понятным, если информация передается в представление, а затем выводится из представления как <?php echo $value; ?>
, но есть некоторые исключения .
По сути, я следую этим правилам:
- Модель не получает сохранения ввода от контроллера.
- Вызывает только вспомогательные функции и библиотечные методы, если требуется манипулирование.
- Она манипулирует данными, только если данные должны быть сохранены в конкретный способ (например: сериализация и т. д.).
- Представление не получает сохранения ввода от контроллера.
- Вызывает только вспомогательные функции для поиска строк и не использует библиотечные методы.
- Единственный раз, когда ему нужно манипулировать данными, это когда они поиск конфигурации или языковых данных. Это следует понимать как перевод.