CodeIgniter: Принятие решений для создания библиотеки и помощника в CodeIgniter

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

Я действительно понимаю, что и позволить иметь бизнес-логику в нем и являются допускающими повторное использование через платформу (звонящий от другого контроллера и т.д.)

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

Разработчики CI там, советуйте.

я думаю, что лучше включать пример.

У меня мог быть a

class notification_lib {
   function set_message() { /*...*/}

   function get_message() {/*...*/}

   function update_message() {/*...*/}
}

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

В a notification_helper.php файл, я буду включать set_message(), get_message(), update_message()..

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

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

45
задан Josh 8 March 2013 в 23:21
поделиться

4 ответа

Решая это, я задаю себе вопрос, который, как я думаю, также поможет вам. Возникает вопрос: добавляю ли я функцию в свой фреймворк или консолидирую?

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

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

Надеюсь, это различие поможет вам, как и мне.

28
ответ дан 26 November 2019 в 21:07
поделиться

Что ж, выбор сводится к набору функций или классу. Выбор почти такой же, как и у класса экземпляра по сравнению со статическим классом.

Если у вас есть просто группа функций, вам нужно создать только группу функций. Если эта группа функций совместно использует много данных, вам необходимо создать класс, у которого есть экземпляр для хранения этих данных между вызовами метода (функции класса).

У вас есть много общедоступных или частных свойств для хранения ваших уведомлений?

Если вы используете класс, вы можете установить несколько сообщений через систему, тогда get_messages () может вернуть частный массив сообщений. Это сделало бы его идеальным для использования в качестве библиотеки.

58
ответ дан 26 November 2019 в 21:07
поделиться

Лично я использую библиотеки для больших вещей, скажем, созданную мной FTP-библиотеку, которая намного быстрее, чем библиотека, поставляемая CodeIgniters. Это класс с множеством методов, которые обмениваются данными друг с другом.

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

1
ответ дан 26 November 2019 в 21:07
поделиться

Прежде всего, вы должны быть уверены, что понимаете разницу между библиотекой CI и вспомогательным классом. Вспомогательный класс - это все, что помогает любой готовой вещи, например массив , строка , uri и т. Д .; они есть, и PHP уже предоставляет для них функции, но вы все равно создаете помощник, чтобы добавить к ним дополнительные функции.

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

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

7
ответ дан 26 November 2019 в 21:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: