Библиотека — это программный код, оформленный в виде отдельного компонента, который можно использовать для решения изолированной задачи.

Назначение библиотек

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

Готовые решения помогают писать меньше кода и сосредоточиться на предметной области проекта. Большинство библиотек свободно распространяются в интернете и доступны для бесплатного использования.

Обычно библиотека — это набор PHP-сценариев, запакованных в архив. При установке файлы распаковываются из архива в определённую папку внутри вашего проекта. Как правило, один проект использует минимум несколько библиотек.

Когда использовать библиотеку

Когда следует использовать и как выбрать подходящую для ваших целей библиотеку?

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

Следующее на что стоит обратить внимание при выборе библиотеки — это наличие хорошей документации.
Документация описывает возможности библиотеки и способы её использования. Если документация неполная, устаревшая или вообще отсутствует, то использовать эту библиотеку будет очень сложно, так как придётся самостоятельно разбираться в её исходном коде и смотреть как она работает. В общем, качественная документация — это очень важно.

Второе важное качество библиотеки — это её пользовательская база. То есть много ли программистов уже используют это решение.
Как узнать этот показатель? Можно ориентироваться на количество звёзд на гитхабе, количество результатов в гугле при поиске, тренды того же гугла.
Почему нам это должно быть важно? Дело в том, что чем больше у библиотеки пользователей, тем проще будет найти ответ в затруднительной ситуации или разобраться в особенностях использования.

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

Пример подключения и использования библиотеки

Работа с библиотекой состоит из трёх шагов: установка, подключение и использование.
Заходишь на сайт с библиотекой, загружаешь архив и распаковываешь его в свою папку, где лежат PHP-сценарии.
Затем необходимо подключить сценарии с классами библиотеки. Далее в своём коде просто происходит создание новых объектов этих классов и вызов их методов. Такая процедура работы типична для любой библиотеки.

Зависимости библиотеки

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

Вот пример: мы скачали библиотеку «А», а она, в свою очередь, использует библиотеку «Б». При этом код библиотеки «Б» мы не загружали и не устанавливали. Тогда библиотекой «А» воспользоваться не получится, потому что она не будет работать, пока дополнительно не установить библиотеку «Б». Такие отношения между библиотеками называются зависимостями.

Всё ещё больше усложняется, когда зависимость включает не только название библиотеки, но и конкретную версию.