Сначала определимся с этой замысловатой и непонятной аббревиатурой PEAR. Статья из Википедии следующую формулировку:
«PEAR (акроним от английских слов PHP Extension and Application Repository) — это библиотека классов PHP с открытым исходным кодом. В стандартную поставку PHP входит система управления классами PEAR, которая позволяет легко скачивать и обновлять их.»
Пока совсем непонятно, что за классы, обратимся к официальному сайту, где написано:
«PEAR — это:
- структурированная библиотека открытого кода, созданная для пользователей PHP;
- система управления пакетами и распространения кода среди разработчиков;
- стандарт написания PHP-кода (подробнее о стандарте см. здесь);
- базовые классы PHP-кода (подробнее о базовых классах см. здесь;
- библиотека дополнительных модулей для PHP (The PHP Extension Code Library, PECL), подробную информацию о PECL можно узнать здесь;
- веб-сайт, листы рассылки и зеркала для загрузки — все это предназначено для поддержания и развития сообщества разработчиков PHP/PEAR.»
Иными словами PEAR — это официальный набор пакетов и средств, который поддерживаются и расширяют возможности РНР. Тем не менее, PHP содержит все основные пакеты PEAR , которые легко можно расширить , через операции командной строки. Список основных пакетов можно просмотреть на официальном сайте — здесь. В данном контексте пакет понимается как набор взаисвязанных классов, которые снруппированы между собой по некоторому алгоритму или правилу, с помощью которых легко можно отделить одну часть системы от другой. Близко схожее понятие для пакета — это скорее всего пространство имен, при котором в одном файле или библиотеке можно определить и использовать различные по структурк, но одинаковы по названию классов. Уонечно, в PHP 5 пока что это слабо реализовано на основе ключевого слова namespace , но в PHP 6 будет полноценная поддержка пространств имен.
Такс, мы чуть отошли от темы, так где же используется PEAR, каковый его преимущества? На это есть ответ. В PEAR реализованы все основные пакеты классов, которые уже протестированы многими опытными разработчиками и вам не потребуется писать заново, допустим, класс для доступа к БД, если в процессе проекта вы решили перейти с MySQL на Oracle, тем более, вам ненадо писать сам код, достаточно использовать, уже протестированный временем и разработчиками, код из пакета PEAR.
Еще одна немаловажная сторона PEAR — это то, что в разработке пакетов может участвовать любой желающий и те пакеты и классы, которые уже прошли жесткие нормы PEAR будут включены в официальный дистрибутив PHP.