В чем разница между PEAR и PEAR2? - PullRequest
19 голосов
/ 23 марта 2011

Итак, есть старый установщик 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 лучше, чем старый установщик Pear.

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 Ответ

23 голосов
/ 26 марта 2011

Прежде всего, репозиторий 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

С Pyrus, php pyrus.phar install pear/Net_URL2

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

Есть еще немного, но это основы PEAR2 и Pyrus.

...