Что лучше в codeigniter? Добавление функции в помощнике или добавление функции в расширенный базовый класс


0

В проекте codeigniter я должен выполнить некоторые команды в одном контроллере.
Я кодирую все это в функции, и теперь мне нужно позвонить, когда это необходимо.
Я думаю, что писать эту функцию в нескольких контроллерах не очень хорошо.
у меня есть 2 варианта,

  1. создать помощника и написать эти функции в том числе помощник в необходимых контроллеров.
  2. Поскольку у меня расширенный базовый контроллер CI (My_Controller), и большинство моих контроллеров расширены, этот контроллер, я могу написать эту функцию и на моем базовом контроллере.

Я смутил, какой из них лучше, правильно?
Какой из них ускорит процесс?
Второй способ замедляет работу сайта?

  0

Это в значительной степени причина расширения основных классов. Я не знаю, где такое замешательство, особенно если у вас уже есть MY_Controller. 25 фев. 132013-02-25 12:48:21

  0

Да. Читая другие ответы и сравнивая мой код, я думаю, что MY_controller - лучший вариант, поскольку он не требует никакого включения в мой текущий код. Если я поместил необходимый материал в библиотеку или помощник, мне нужно загрузить их в другие контроллеры. я думаю, учитывая эффективность и скорость MY_controller. 26 фев. 132013-02-26 07:02:17

1

Они идентичны для всех целей и целей.

Использование помощника позволяет сделать код портативный, так что вы можете использовать его в других проектах, или быть вызваны из любой кодовой базы, в случае функции форматирования, например

Если вы планируют поставить его в контроллер, то MY_Controller является лучшим выбором


1

Просто, чтобы помочь вам на вас стремиться, что я делаю это: (это только у меня)

  1. Если мне нужно использовать что-то в взгляды, я использую helper пользовательский или встроенный.

  2. Если я хочу сделать что-то на контроллере, что другой контроллер будет использовать слишком и не хочу портить вверх или вытесняют мой контроллер я использую library (довольно много вы можете использовать helper но я решил использовать библиотеку)

  3. Если я хочу загрузить, скажем, метод, чтобы повлиять на глобальный или какой-либо контроллер, я использую base controller. (Вы также можете использовать helper или library)

Ключа вы не ограничены одной, выбрать самое лучшее, что подходит вам, как говорится, есть много способов кожи кошки, но пожалуйста, не 't skin a cat.