Что лучше в codeigniter? Добавление функции в помощник или добавление функции в расширенный базовый класс
В проекте Codeigniter я должен сделать некоторые вещи в одном контроллере.
Я кодирую все эти вещи в функции, и теперь мне нужно вызывать при необходимости.
я думаю, что написание этой функции на нескольких контроллерах не очень хорошо.
у меня есть 2 варианта,
- создайте помощник и напишите в них эти функции и включите помощник в необходимые контроллеры.
- Так как я расширил базовый контроллер CI (My_Controller), и большинство моих контроллеров расширили этот контроллер, я также могу записать эту функцию на свой базовый контроллер.
Я перепутал, какой из них лучше, правильный путь?
Какой из них ускорит процесс?
Второй способ замедляет работу сайта?
2 ответа
Просто чтобы помочь вам в ваших усилиях, то, что я делаю, это: (это только я)
Если мне нужно использовать что-то в представлениях, я использую
helper
нестандартный или встроенный.Если я хочу сделать что-то на контроллере, который будет использовать другой контроллер, и не хочу, чтобы это испортило или переполнило мой контроллер, я использую
library
(в значительной степени вы можете использоватьhelper
но я решил использовать библиотеку)Если я хочу загрузить, скажем, метод, чтобы повлиять на глобально или некоторые контроллеры, я использую
base controller
, (вы также можете использоватьhelper
или жеlibrary
)
Ключ в том, что вы не ограничены одним, выбирайте лучшее, которое вам подходит, как говорится, есть много способов снять кожу с кошки, но, пожалуйста, не снимайте кожу с кошки..
Они идентичны для всех намерений и целей.
Использование помощника позволяет сделать код переносимым, чтобы вы могли использовать его в других проектах или вызывать из любой точки базы кода, например, в случае функции форматирования
Если вы планируете поместить его в контроллер, тогда MY_Controller - лучший выбор