Php 大型库的动态依赖关系
假设我有一个包含多个部分的库,比如a和B 在应用程序中,我需要该库,但仅使用A部分。这是通过应用程序中可以动态读取的配置设置定义的 现在A和B对其他包有不同的要求 如果只使用依赖项,我怎么可能只需要依赖项?Php 大型库的动态依赖关系,php,composer-php,Php,Composer Php,假设我有一个包含多个部分的库,比如a和B 在应用程序中,我需要该库,但仅使用A部分。这是通过应用程序中可以动态读取的配置设置定义的 现在A和B对其他包有不同的要求 如果只使用依赖项,我怎么可能只需要依赖项? 显而易见的答案是将该库拆分为两个库。但该库目前尚未拆分,这将需要大量工作,并将彻底改变工作流程——这是我们不希望看到的。想想Zend Framework,它也是一个单独的库。最好的方法是从“要求”部分删除a和B,并将它们添加到“建议”部分(包括简短说明): 现在,当用户安装软件包时,会收到一
显而易见的答案是将该库拆分为两个库。但该库目前尚未拆分,这将需要大量工作,并将彻底改变工作流程——这是我们不希望看到的。想想Zend Framework,它也是一个单独的库。最好的方法是从“要求”部分删除a和B,并将它们添加到“建议”部分(包括简短说明): 现在,当用户安装软件包时,会收到一条消息,显示建议的软件包:
package/package suggests installing "a/a": to be able to use X (1.*)
package/package susgests installing "b/b": to be able to use Y (~1.3)
安装软件包的用户现在应该确定自己是否还需要“a/a”或“b/b”
虽然此解决方案是最常用和最简单的解决方案之一,但拆分包是一个更好的选择。另见“
package/package suggests installing "a/a": to be able to use X (1.*)
package/package susgests installing "b/b": to be able to use Y (~1.3)