Я googled, и мне сообщили, что библиотека состоит из нескольких соответствующих классов. Но в Codeigniter я обнаружил, что в каждой библиотеке есть только один класс. Извините за мои ограниченные знания для этого, но я был бы признателен, если бы вы могли немного рассказать об этом. Большое спасибо!
Разница – семантическая.
Класс представляет собой реализацию определенной функциональности (обычно полностью инкапсулируя функциональность.
Библиотека представляет собой набор единиц функциональности (или только один), которые добавляют функциональность. Заметьте, я старался держаться подальше от класса слова в этом определении. Библиотеки могут быть процедурными, функциональными или ООП. Это не умаляет того, что это библиотека. Классы просто помогают абстракции при работе с ООП.
Framework – это библиотека, которая предоставляет выбор архитектуры для написания кода.
Поэтому каждая структура является библиотекой. Не всякая библиотека является основой. Сам CodeIgniter можно использовать как структуру или библиотеку. Разница в том, что если вы позволяете библиотекам направлять вашу архитектуру, вы используете фреймворк. Если вы не используете бит архитектуры, это библиотека.
Это определенно педантичная разница, но значительная. Как грубое упрощение, если вы делаете формальную архитектуру и понимаете, почему все накладывается так, как это специально для вашего приложения, вы используете его как библиотеку. Если вместо этого вы строите его таким образом, потому что это то, как CI это делает, это использует фреймворк. Оба имеют значительные преимущества, но стоит понять разницу.
В общих терминах программирования не каждая библиотека должна состоять из нескольких классов. На самом деле не все библиотеки также должны состоять из классов – это действительно зависит от реализации (а иногда и от языка). Когда начинается Википедия (курсив мой):
В информатике библиотека представляет собой набор ресурсов, используемых для разработки программного обеспечения. Они могут включать подпрограммы, классы, значения или спецификации типа.
CodeIgniter имеет собственное определение «library», в этом случае он просто вызывает для каждого стороннего класса приложения свою собственную библиотеку. Несмотря на это, вы можете включить другие классы в один и тот же файл библиотеки, если у вас есть хотя бы один класс с тем же именем, что и файл библиотеки.
Проверка документов CodeIgniter :
Когда мы используем термин «Библиотеки», мы обычно ссылаемся на классы, которые находятся в каталоге библиотек и описаны в описании класса этого руководства. В этом случае, однако, мы опишем, как вы можете создавать свои собственные библиотеки в каталоге приложений / библиотек, чтобы поддерживать разделение между вашими локальными ресурсами и глобальными ресурсами.
Я не думаю о «библиотеке» как о фиксированном количестве классов или файлов. Означает ли эта цитата конкретное использование, которое вас смутило?