PHP模块化系统依赖解析器

时间:2013-02-09 13:12:10

标签: php algorithm

我想构建一个基于模块的PHP项目。可以从管理工具启用/禁用每个模块,并且每个模块都可以依赖于其他模块。每个模块都可以在一个简单的清单文件中声明它的依赖关系,例如dependsOn: A, B, C,其中A,B和C是需要启用的其他模块。

我的问题是,对于这种模块化系统,是否有一个良好的实践或现成/解决方案来解决依赖图?

关键是我想在启用模块时检查依赖项,并向用户发出消息以启用相关模块。通过启用相关模块,它们也可以依赖于其他模块等等。

如果解决方案能够在图中找到周期,那么会很好,例如A依赖于B,B依赖于C,但C依赖于A.

最诚挚的问候, FERI

1 个答案:

答案 0 :(得分:0)

您可能希望查看Composer - http://getcomposer.org/ - 我认为它符合您的一些要求,但是您必须找到一种在运行时启用模块时挂钩其功能的好方法。