В чем разница между PECL и PEAR?

139

Я вижу, что библиотека GD предназначена для изображений. Но я не вижу различий между PECL и PEAR. Оба имеют аутентификацию. Каковы основные различия между двумя? Почему они их не объединяют?

голень
источник

Ответы:

258

PECL расшифровывается как PHP Extension Community Library , в нем есть расширения, написанные на C, которые могут быть загружены в PHP для обеспечения дополнительных функций. Для установки этих расширений у вас должны быть права администратора, компилятор C и связанный набор инструментов.

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

Так что да, они похожи, но все же такие разные :)

Anti Veeranna
источник
23
Очень четкий ответ. Я бы добавил, что PEAR - это на самом деле две вещи: это хранилище библиотек, но это также канал распространения / система упаковки. Первоначально система упаковки распределяла только один репозиторий PEAR, но сегодня канал распространения может использоваться любой сторонней библиотекой.
troelskn
@troelskn, вы называете это "каналом распространения"? Чем она отличается от обычной библиотеки PHP Tomdickharry? Вы тоже собираетесь называть jQuery «каналом распространения»?
Pacerier
@troelskn, на самом деле jQuery и tom and harry тоже имеют четко определенные протоколы. Что отличает PEAR от них?
Pacerier
7
@Pacerier В последний раз, когда я смотрел, в jQuery не было диспетчера пакетов. В js-сообществе npm, похоже, заполняет эту пустоту в наши дни (хотя за эти годы были и другие участники).
troelskn
8

PECL - это репозиторий расширений C для PHP. Эти расширения обычно устанавливаются с помощью peclкоманды, которая является псевдонимом для pear, с каналом / репозиторием по умолчанию, установленным на pecl.php.net.

ГРУША - это несколько вещей:

  1. Установщик пакетов ( pearкоманда), который может устанавливать пакеты из разных каналов (репозиториев), включая pecl.php.net. Многие считают композитора преемником установщика груши.
  2. Репозиторий пакетов http://pear.php.net/packages.php с ~ 600 библиотеками. Многие из них могут быть установлены композитором.
  3. Стандарт кодирования PHP , доступный с PHP_CodeSniffer.
Cweiske
источник
Кажется, более точным / понятным будет сказать, что экосистема PEAR включает стандарт кодирования?
Zv_oDD 01
5

pear - это классы php, написанные на php, в то время как pecl - это расширения, которые не написаны на php и нуждаются в компиляции.

Хос Меркьюри
источник
2

Груша как таковая не является стандартом кодирования. Вместо этого PEAR «следует» установленному стандарту кодирования, который поощряется PHP-сообществом. Однако это не единственный стандарт кодирования, которому могут следовать пользователи PHP, например ZF. рекомендует немного другой стандарт.

Просто еще один парень
источник
1

PEAR также является стандартом кодирования ;-) php_codesniffer (устанавливается с помощью $ pear install php_codesniffer) - это инструмент, который будет сканировать ваш код и высвечивать его там, где он отклоняется от этого или любого другого поддерживаемого стандарта кодирования.

kguest
источник