В избранное    Домой    Карта сайта          Adminka

Среда,  16 Aug 2017 г., 19:02
"Не будьте, как конь, как лошак несмысленный, которых челюсти нужно обуздывать уздою и удилами, чтобы они покорялись тебе". /Псалом 31 (ст.9)/

 Логин:  

 Пароль: 




Анонсы:
=== Дата: 12/10/2011     Автор: Крис Ньюман ===

PHP. Урок 25 Использование PEAR

Урок 25. Использование PEAR

В этом уроке вы узнаете о библиотеке расширений и приложений PHP – PEAR (PHP Extension and Application Repository).

Введение в PEAR

PEAR – это набор компонент и система распространения повторно используемых PHP-пакетов. В PEAR входят следующие компоненты:

  • структурированная библиотека открытых кодов для PHP-разработчиков;
  • система распространения и сборки кода в пакеты;
  • стандарт кодирование PEAR (PCS);
  • фундаментальные классы PHP (PFC);
  • поддержка сообщества пользователей PEAR через Web-сайт и списки рассылки.

 

Библиотека кодов PEAR

PEAR вобрала в себя много различных открытых проектов. Каждый из них составляет отдельный пакет. У всех пакетов PEAR есть составители и разработчики. Они определяют список необходимых изменений и даты выхода финальных версий. Но структура пакета согласовывается для всех проектов PEAR.

С PHP поставляется инсталлятор PEAR. Он позволяет автоматически загрузить и устанавливать пакеты PEAR, указав имя пакета. О том, как работать с инсталлятором PEAR, рассказывается далее в этом уроке.

Пакет может зависеть от других пакетов PEAR. Это отдельно оговаривается в документации, даже если из-за названия кажется, что пакеты связаны.

Пакеты в PEAR имеют древовидную структуру. Каждый уровень иерархии отделяется символом подчеркивания (_). Например, пакет HTTP состоит из различных утилит. В свою очередь, пакет HTTP_Header работает корректно с HTTP-заголовками.

Распространение и сборка пакетов

Все пакеты PEAR регистрируются в центральной базе данных на сайте http://pear.php.net. На Web-сайте PEAR есть удобный интерфейс для поиска в базе данных. Искать можно по имени пакета, категории и дате выпуска.

Сборщики пакетов PEAR управляют своими проектами с помощью Web-сайта PEAR. CVS-сервер позволяет нескольким разработчикам работать совместно над одним исходным кодом. Последнюю версию программы можно загрузить с этой центральной точки.

Стандарты кодирования PEAR

Открытые проекты, которые могут использоваться всем сообществом PHP, разрабатываются различными командами программистов. Чтобы облегчить понимание исходного кода, разработан стандарт кодирования PCS.

Документация по PCS определяет стиль и структуру кода. Его должны придерживаться все разработчики при написании пакета для PEAR-проекта.

Стандарт достаточно детальный и описывает большинство правил стиля. В нем есть соглашение об именовании переменных, а также согласованный стиль для определения функций и классов.

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

Описание PCS можно найти по адресу: http://pear.php.net/manual/en/standards.php.

Важнейшие классы PHP

PFC является подмножеством пакетов PEAR. Для того чтобы войти в него, класс должен соответствовать набору таких критериев.

  • Качество — пакет должен быть в стабильном состоянии.
  • Обобщенность — пакеты не должны привязываться к определенному типу окружения.
  • Возможность взаимодействия — пакеты должны нормально функционировать на различных системах и иметь стандартизированное API.
  • Совместимость — пакеты должны проектироваться с обратной совместимостью при добавлении новых возможностей.

В данный момент только инсталлятор PEAR поставляется с PHP. Но позже некоторые классы могут войти в стандартную поставку. Скорее всего это будут классы PFC.

Использование PEAR

В следующем разделе рассказывается о том, как с помощью PEAR найти и установить пакет в системе. Кроме того описывается, как отправить пакет для включения в PEAR.

Поиск пакета PEAR

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

Поиск пакетов. Чтобы выполнить расширенный поиск по имени пакета, разработчика или дате выпуска, следует воспользоваться формой на странице: http://pear.php.net/package-search.php.

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

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

Использование инсталлятора PEAR

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

Инсталлятор PEAR называется pear. Для его запуска нужно набрать pear в командной строке и добавить нужные аргументы. Опция list позволяет увидеть все установленные пакеты:

$ pear list

Опции команды. Если запустить pear без аргументов, на экране появится список доступных опций.

На выходе получим похожий вывод:
 

Installed packages:
==============
Package	           	Version	       State
DB		    	1.6.2		stable
HTTP			1.2.2		stable
Net_DNS	         	1.00b2		beta
Net_SMTP		1.2.6		stable
Net_Socket		1.0.1		stable
PEAR			1.3.2		stable
SQLite			1.0.2  		stable

 

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

Команда search позволяет искать по базе данных PEAR. Чтобы найти все пакеты, содержащие строку mail, нужно ввести команду:

# pear search mail

На выходе получим все соответствующие пакеты, их последние версии и короткое резюме. Поиск не зависит от регистра. Команда list-all позволяет увидеть все стабильные пакеты PEAR:

# pear list-all

На выходе будет длинный список!

Чтобы загрузить и установить пакет используется команда install с именем пакета. Для установки пакета Mail_Queue нужно ввести следующую команду:

# pear install Mail_Queue

Для нормальной работы некоторых пакетов нужны дополнительные пакеты. Поэтому установка может прерваться, если они не будут найдены. Ниже показывается вывод попытки установить Mail_Queue без установленного пакета Mail:

# pear install Mail_Queue
downloading Mail_Queue-1.1.3.tar ...
Starting to download Mail_Queue-1.1.3.tar (-1 bytes)
.....done: 98,816 bytes
requires package `Mail'
Mail_Queue: Dependencies failed

Некоторые зависимости опциональные. Если установить пакет Mail, чтобы устранить ошибку зависимости в предыдущем сообщении, PEAR предложит улучшить функциональность пакета Mail с помощью установки пакета Net_SMTP:

# pear install Mail
downloading Mail-1.1.4.tar ...
Starting to download Mail-1.1.4.tar (-1 bytes)
.....done: 73,728 bytes
Optional dependencies:
package `Net_SMTP' version >= 1.1.0 is recommended to
utilize some features.
Install ok: Mail 1.1.4

Команда upgrade загружает и обновляет последнюю версию установленного пакета. Чтобы проверить наличие новой версии пакета Mail, используется следующая команда:

# pear upgrade Mail

При обнаружении новой версии происходит автоматическое обновление.

Обновление пакетов. Команда upgrade-all обновляет все установленные пакеты PEAR до последней версии.

Если нужно полностью удалить пакет PEAR, используется команда uninstall.

Резюме

В этом уроке вы научились работать с PEAR. Окончив чтение этой книги, вы получили все преимущества от использования множества свободно доступных классов PEAR. Это позволяет решать широкий класс задач с помощью PHP. Удачного кодирования!

Комментарии к статье (0)


<<назад

Погода в Рудне
(Волгоградcкая обл.)

Подробнее >>


Курс валют
на 16 Авг 2017 г.
DKK - 93,9596
USD - 59,6521

MainLink