Как подключить дополнительные библиотеки к PHP скриптам

Владимир | | PHP.

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

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

Существуют три основных способа подключения дополнительных библиотек.
Первый способ основан на том, что любая PHP библиотека – это набор PHP скриптов, которые можно использовать точно также как и любые другие скрипты. Т.е. скопировать в папку с проектом и по мере необходимости подключать с помощью операторов include или require. При этом нужно помнить, что структура каталогов самой библиотеки должна оставаться постоянной. Этот способ удобен, если вы хотите распространять файлы библиотеки вместе с вашим проектом (вопросы соблюдения авторских прав остаются на вашей совести).

Второй способ предполагает использование одной и той же копии библиотеки несколькими проектами. В этом случае взаимное размещение библиотеки и вашего проекта заранее неизвестно. Для того чтобы сделать библиотеку доступной, необходимо указать её размещение в файле php.ini с помощью параметра include_path.
Рассмотрим пример. Допустим, мы хотим сделать доступной библиотеку simpletest (используется для модульного тестирования).
Архив с библиотекой мы распаковали в папку C:\simpletest_php. Т.е. файлы библиотеки размещены следующим образом:

C:\simpletest_php\simpletest\файлы библиотеки

После этого в файле php.ini (он расположен в папке с PHP) ищем параметр include_path, и указываем размещение библиотеки.
include_path="…;C:\simpletest_php;…"
Вместо троеточий у вас буду указаны папки с другими библиотеками. Если перед параметром стоит точка с запятой (превращает строку в комментарий) уберите её. Учтите, что параметр include_path может быть создан автоматически, например, менеджером пакетов PEAR. В этом случае просто добавляйте через точку с запятой размещения ваших библиотек.
Использовать подключённую библиотеку можно следующим образом:
require_once "simpletest/unit_tester.php";

Третий способ касается пакетов PEAR. По сути это очень большой набор библиотек для PHP, многие из которых тесно друг с другом связаны. Для работы с этой библиотекой существует специальная программа – менеджер пакетов. Он позволяет устанавливать пакеты как с сайта проекта, с помощью команды pear install <имя_пакета>, так и с локального компьютера (предварительно необходимо загрузить архив с нужным пакетом) pear install <имя_пакета>.tgz.
После установки в папке с PHP появится папка PEAR, в которой будут размещены файлы библиотек.

Постовой

Новые игрушки для детей lego

  • Их подключить тяжело.

  • Trible

    Спасибо, вроде простая вещь, но долгое время топтался на месте, пока не вышел на эту статью.

  • Михаил

    У меня непонятная ситуация с include(). По этой функции тексты внешней библиотеки включаются в основной PHP документ, но не интерпретируются как PHP-текст, а только как простой текст. Почему такое может быть?
    Когда тексты функций явно вписаны в основной документ, то все функции работают, а при попытке включить, как внешнюю библиотеку — нет.
    Кто знает, в чем может быть дело, ответьте пожалуйста!
    Спасибо.

    • 1) Тег <?php в начале файла библиотеки есть?
      2) Возможно, нужно указать путь к файлу библиотеки.

  • Михаил

    Спастбо, Владимир! Проблема уже решена методом компьютерно-форумного шаманства. А бился неделю.
    Конечно, все что Вы пишете перепробовал, пробовал, пробовал….Советовался на форумах… ЗАРАБОТАЛО! Непонятно почему…

  • Ольга

    Не могу установить не модуль, не пакет PEAR при вызове

    pear install в командной строке появляется: » No releases available for package «pear.php.net/extname» install failed».

    Уже все перепробовала,не могу понять в чем дело!
    Очень надеюсь на вашу помощь.

    • Напишите, пожалуйста, какую именно библиотеку вы хотите установить.