В чем разница между PEAR и PEAR2?
Итак, есть старый установщик pear и pyrus, который является новым менеджером пакетов для PEAR ... или был PEAR2 ... по крайней мере, он быстрее и прочее.
И есть старая версия package.xml <2.0 и новая package.xml >=2.0 ... эта версия связана с менеджером пакетов... установщик груши или pyrus?
А что такое PEAR2 на самом деле? Почему существует http://pear2.php.net/ и существует независимая от версии 'PEAR' по всему сайту? Это на самом деле то же самое?
Может кто-нибудь объяснить, как взаимосвязаны PEAR / PEAR2 / package.xml <и>= 2.0 / pear / Pyrus(.phar)?
РЕДАКТИРОВАТЬ 1:
Pyrus: улучшения от программы установки PEAR
В основном утверждает, что Pyrus лучше, чем старый установщик груши.
Pyrus больше не поддерживает package.xml версии 1.0
Так что же происходит с чем-то> 1,0?
Кроме того, в Pyrus появилась поддержка пакетов PEAR2, которые можно извлечь на диск, а затем обновить с помощью Pyrus.
Я извиняюсь... но это проппер английский или это просто сбивает с толку? Кажется, говорят, что Pyrus также все еще поддерживает PEAR ... и, конечно, PEAR2. Все еще оставляя главный вопрос, на который нужно ответить - что такое PEAR2?
РЕДАКТИРОВАТЬ 2:
PEAR2 & Pyrus - взгляд в будущее
Это 2-летний прогноз и слайды для презентации... так что в основном это просто ключевые слова и фразы.
Таким образом, PEAR2 является концептуальным пересмотром... каким образом?
Есть новый установщик... Pyrus? ... но разве другой источник не утверждал, что Pyrus ввел поддержку PEAR2?
Ограничения для распространения пакетов, похоже, изменились... только стабильно и охват PHPUnit не менее 50% ...
Остальное не дает мне ясного смысла.
1 ответ
Прежде всего, репозиторий PEAR и установщик PEAR - это две разные вещи.
PEAR2 - это следующее поколение репозитория PEAR, Pyrus - это следующее поколение программы установки PEAR.
У репозитория PEAR есть набор стандартов для всех выпущенных там пакетов. Аналогично, репозиторий PEAR2 имеет стандарты, которым должен соответствовать каждый пакет. К сожалению, wiki.php.net, в котором есть все детали, в данный момент недоступен, но вот основные различия между стандартами PEAR и стандартами PEAR2.
- Пакеты PEAR2 только для PHP 5.3+
- Весь код находится в пространстве имен PEAR2
- Каждый пакет должен использовать package.xml v2.0
- Автозагрузка файлов с помощью автозагрузчика PSR-0
- require_once не допускается
- Пакеты не должны быть привязаны к файловой системе, в которую они установлены
- Новые стандарты управления версиями позволяют взломать BC без переименования пакета
- Пакеты должны расширять исключения SPL и реализовывать базовый интерфейс исключений
Pyrus, новый установщик, на самом деле является автономным архивом phar и не требует сложной установки. Новый установщик поддерживает множество функций, улучшающих первоначальный установщик PEAR, и может устанавливать существующие пакеты pear с pear.php.net, pear2.php.net и других каналов, совместимых с pear.
Код в файле pyrus.phar соответствует стандартам кодирования PEAR2 и поэтому находится в репозитории PEAR2 и может быть установлен, если вы хотите использовать его в качестве библиотеки поставщика.
С установщиком груши вы бы использовалиpear install pear/Net_URL2
С пирусом, php pyrus.phar install pear/Net_URL2
Когда вы устанавливаете пакет, который соответствует стандартам PEAR2, вы можете безопасно переместить его в другое место, зафиксировать в хранилище, и установки не будут привязаны к конкретной машине. Это значительно упрощает создание каталога вендора, содержащего библиотеки, которые нужны вашему приложению, и делится ими с другими.
Есть еще немного, но это основы PEAR2 и Pyrus.