Подтвердить что ты не робот

Менеджер пакетов PHP

Кто-нибудь знает библиотеку диспетчера пакетов для PHP (например, apt или yum для Linux-дистрибутивов) apart из PEAR? Я работаю над системой, которая должна включать систему управления пакетами для управления модулем. Мне удалось получить рабочее решение с использованием PEAR, но использование клиента PEAR для чего-либо другого, кроме управления установкой PEAR, на самом деле не является оптимальным решением, поскольку оно не предназначено для этого. Я бы изменить/продлить его (например, для выполнения действий по установке/обновлении или переместить PEAR конкретные файлы, такие как файлы локировок от корневой системы) и особенно код клиента CLI довольно неаккуратно и PHP4. Так что, возможно, у кого-то есть предложения.

  • для альтернативной клиентской библиотеки PEAR, которая проста в использовании и расширении (на стороне сервера есть несколько хороших реализаций, таких как Pirum и pearhub).
  • для совершенно разных систем управления пакетами, написанных на PHP (в идеале включая отслеживание зависимостей и различные каналы).
  • для некоторых общих идей о том, как реализовать такую ​​систему PM (да, я все еще пытаюсь воплотить идею внедрения такой системы с нуля)

Я знаю, что большие системы, такие как Magento и symfony, используют PEAR для своего PM. Magento использует взломанную версию оригинального клиента PEAR (который я хотел бы избежать), реализация Symfony кажется вполне интегрирована с рамками, но будет хорошая отправная точкой, по крайней мере, написать клиент с нуля. В любом случае, если у кого-то есть предложения: пожалуйста:)

4b9b3361

Ответ 1

Существует Composer.

Ответ 2

Вы проверили Maven for PHP? Я использовал Maven только в контексте Java-приложений, но, конечно же:

  • Простота расширения - действительно легко реализовать плагины Maven.
  • Управляет зависимостями - отличает зависимости от компиляции, тестирования и времени выполнения (хотя в PHP не существует смысла компиляции/выполнения).
  • Репозитории тривиальны: Apache с mod_dav даст вам рабочий перезаписываемый репозиторий, но у вас также есть Nexus.
  • Отличает моментальный снимок от стабильных артефактов; позволяет несколько политик, когда нужно проверять наличие новых артефактов моментальных снимков и из которых репозитории получают каждый тип.

И многое - многое другое.

Ответ 3

PEAR2/Pyrus был создан для управления пакетами для произвольных приложений. Я считаю, что он был смоделирован после архитектур apt/yum.

Helgi - core PEAR member - охватывает некоторые из них здесь - http://www.slideshare.net/helgith/pear2-pyrus-the-look-ahead, но документация тоже довольно твердая: http://pear.php.net/manual/en/pyrus.extending.installation.php