16

除了PEAR ,有谁知道 PHP 的包管理器库(例如 apt 或 yum 用于 Linux 发行版) ?我正在开发一个应该包含用于模块管理的包管理系统的系统。我设法使用 PEAR 获得了一个可行的解决方案,但是将 PEAR 客户端用于管理 PEAR 安装之外的任何其他事情并不是真正的最佳解决方案,因为它不是为此而设计的。我将不得不修改/扩展它(例如实现安装/升级操作或将 PEAR 特定文件(如锁文件)从系统根目录移开),尤其是 CLI 客户端代码非常混乱和 PHP4。所以也许有人有一些建议

  • 用于易于使用和扩展的替代 PEAR 客户端库(服务器端有一些不错的实现,如 Pirum 和 pearhub)
  • 用于用 PHP 编写的完全不同的包管理系统(理想情况下包括依赖跟踪和不同的通道)
  • 关于如何实现这样一个 PM 系统的一些一般想法(是的,我仍在修改从头开始实现这样一个系统的想法)

我知道像 Magento 和 symfony 这样的大型系统使用 PEAR 作为他们的 PM。Magento 使用原始 PEAR 客户端的破解版本(我想避免),symfony 的实现似乎与框架非常集成,但至少从头开始编写客户端将是一个很好的起点。无论如何,如果有人有建议:请:)

4

3 回答 3

16

还有作曲家

于 2011-11-08T08:37:00.530 回答
3

你检查过Maven 的 PHP吗?我只在 Java 应用程序的上下文中使用过 Maven,但它肯定是:

  • 易于扩展——实现 Maven 插件真的很容易
  • 管理依赖项——区分编译、测试和运行时依赖项(尽管编译/运行时区分在 PHP 中没有意义)。
  • 存储库很容易建立 - 带有 mod_dav 的 Apache 将为您提供一个可工作的可写存储库,但您也有Nexus
  • 将快照与稳定的工件区分开来;允许多种策略来检查何时检查新的快照工件以及从哪些存储库获取每种类型。

还有很多——很多——更多的东西。

于 2010-05-31T18:10:57.133 回答
1

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

于 2010-05-31T19:04:13.217 回答