Различие семантическое.
A Класс представляет собой реализацию определенного компонента функциональности (обычно полностью инкапсулирующий функциональность.
A Библиотека представляет собой набор функциональных единиц (или только один), которые добавляют функциональность. Обратите внимание, что я пытался держаться подальше от слова class в этом определении. Библиотеки могут быть процедурными, функциональными или ООП.не умаляет тот факт, что это библиотека. Классы просто помогают абстракции при работе с ООП.
A Framework - это библиотека, которая предоставляет выбор архитектуры для того, как вы пишете код.
Таким образом, каждый фреймворк - это библиотека. Не каждая библиотека - это фреймворк. Сам CodeIgniter можно использовать в качестве фреймворка или библиотеки. Разница в том, что если вы позволяете библиотекам управлять своей архитектурой, вы используете фреймворк.Если вы не используете бит архитектуры, это библиотека.
Это определенно педантичная разница, ноВеликолепный.Как грубое упрощение: если вы занимаетесь формальной архитектурой и понимаете, почему все устроено так, как для вашего приложения, вы используете его как библиотеку.Если вместо этого вы строите это таким образом, потому что именно так CI это делает, то использует фреймворк.Оба имеют значительные преимущества, но стоит понимать разницу.