разница между библиотеками и помощниками в php-фреймворках - PullRequest
10 голосов
/ 01 февраля 2010

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

функции, такие как: обрезать строку, если длиннее 30 символов, возвращать случайную строку, вводить все строчные буквы и так далее это функции, для которых мне, вероятно, не нужно создавать объект. Лучше использовать их в качестве статических методов.

Должен ли я поместить их в класс библиотеки или вспомогательный класс?

когда я знаю, когда положить куда?

Ответы [ 5 ]

13 голосов
/ 01 февраля 2010

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

массив
строка
URL
и т.д.

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

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

11 голосов
/ 13 мая 2014

Помимо руководства , которое все это хорошо объясняет ...

библиотеки: служебные классы, для которых важно состояние объекта (платежные шлюзы, аутентификация и т. Д.)

помощники: наборы связанных функций (не классов), которые выполняют повторяющиеся задачи (строки, массивы и т. Д.)

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

4 голосов
/ 01 февраля 2010

Я предполагаю, что вы используете CodeIgniter.

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

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

2 голосов
/ 25 марта 2014

Помощник - это набор пользовательских или предопределенных функций, не нужно создавать экземпляры, а библиотеки должны создавать экземпляры классов для их использования. Библиотека может также содержать пользовательские и предопределенные функции / методы. Функция, определенная в библиотеке (классе), называется методом!

1 голос
/ 01 февраля 2010

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

Если они являются функциями, почему вы хотите поместить их в класс? PHP позволяет свободно плавающие функции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...