PHP 包管理器

2022-08-31 01:03:51

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

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

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


答案 1

还有作曲家


答案 2

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

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

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


推荐