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

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

12 голосов
/ 31 мая 2010

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

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

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

Ответы [ 3 ]

12 голосов
/ 08 ноября 2011

Существует Композитор также.

3 голосов
/ 31 мая 2010

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

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

И много-много-много вещей.

2 голосов
/ 31 мая 2010

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

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

...