2012-06-29 3 views
0

У меня есть несколько функций, которые довольно велики и используются только в одной функции контроллера каждый, и мне интересно, куда их поместить? Они не отображают никаких просмотров, а вместо этого хрустят некоторые цифры.
Если я не ошибаюсь, есть 4 возможных места, где я мог бы поставить эти функции: в моем контроллере, в помощнике, в библиотеке или в модели. Но ни один из них не кажется подходящим, так как я не хочу, чтобы код загружался каждый раз, когда пользователь использует контроллер, а модель должна использоваться для создания базы данных, а помощники и библиотеки должны содержать код, который можно использовать снова и снова еще раз.Где поставить большие, редко используемые функции в codeigniter

ответ

0

CodeIgniter поставляется с помощниками, которые вы, вероятно, не используете (не загружается, если вы не указали его в файле application/config/config.php), и я не думаю, что проблема связана с функциями, которые вы используете только один раз хранится там (приложение/помощники). Например, я могу использовать генератор случайных паролей только один раз, но он все еще там и не будет загружен, если я его не назову.

$this->load->helper('my_string_generators'); 
1

Если это бизнес-логика, то лучше всего разместить ее в контроллере как частный метод, тогда вы можете вызвать этот метод из контроллера.

Как и примечание, помощники не всегда загружаются, если вы не загружаете их автоматически или не загружаете в конструктор вашего контроллера. Таким образом, в качестве альтернативы вы можете сделать эти методы помощника, а затем просто загрузить помощника в действие контроллера, которое вы хотите использовать. Таким образом, они загружаются только тогда, когда они вам нужны.

Смежные вопросы