После разработки в 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, я хотел бы понять базовое разделение разработчиков библиотек и помощников
Решая это, я задаю себе вопрос, который, как я думаю, также поможет вам. Возникает вопрос: добавляю ли я функцию в свой фреймворк или консолидирую?
Если у вас есть функция, которую вы добавляете в свой фреймворк, вам нужно создать для этого библиотеку. Например, проверка формы - это функция, которую вы добавляете в структуру. Несмотря на то, что вы можете выполнять проверку формы без этой библиотеки, вы создаете стандартную систему проверки, которая является функцией.
Однако есть также помощник по форме, который помогает создавать HTML-формы. Большое отличие от библиотеки проверки формы заключается в том, что помощник формы не создает новую функцию, а просто представляет собой набор связанных функций, которые помогают вам правильно писать HTML-форму форм.
Надеюсь, это различие поможет вам, как и мне.
Что ж, выбор сводится к набору функций или классу. Выбор почти такой же, как и у класса экземпляра по сравнению со статическим классом.
Если у вас есть просто группа функций, вам нужно создать только группу функций. Если эта группа функций совместно использует много данных, вам необходимо создать класс, у которого есть экземпляр для хранения этих данных между вызовами метода (функции класса).
У вас есть много общедоступных или частных свойств для хранения ваших уведомлений?
Если вы используете класс, вы можете установить несколько сообщений через систему, тогда get_messages () может вернуть частный массив сообщений. Это сделало бы его идеальным для использования в качестве библиотеки.
Лично я использую библиотеки для больших вещей, скажем, созданную мной FTP-библиотеку, которая намного быстрее, чем библиотека, поставляемая CodeIgniters. Это класс с множеством методов, которые обмениваются данными друг с другом.
Я использую помощников для небольших задач, которые не связаны с множеством других функций. Примером могут служить небольшие функции, такие как украшение строк. Или рекурсивное копирование каталога в другое место.
Прежде всего, вы должны быть уверены, что понимаете разницу между библиотекой CI и вспомогательным классом. Вспомогательный класс - это все, что помогает любой готовой вещи, например массив
, строка
, uri
и т. Д .; они есть, и PHP уже предоставляет для них функции, но вы все равно создаете помощник, чтобы добавить к ним дополнительные функции.
С другой стороны, библиотека может быть чем-то вроде того, что вы создаете впервые, любым решением, которое не обязательно уже существует.
Как только вы полностью поймете эту разницу, принятие решения не должно быть таким трудным.