【问题标题】:ZF2 2 modules with same name from different sources in vendorZF2 2 供应商中不同来源的同名模块
【发布时间】:2015-11-16 16:23:26
【问题描述】:

我正在开发一个复杂的应用程序,该应用程序分为一些具有自己逻辑的子应用程序。这些子应用程序包含在主应用程序的composer.json文件中,子应用程序的模块路径包含在主应用程序中。

例如主应用 module_paths 包含:

./vendor,
./vendor/app1/module
./vendor/app2/module

问题是app1app2 都有一个同名的模块,并且它们都需要在主应用程序中加载。

有没有办法加载两个同名但来源不同的模块?

【问题讨论】:

  • 不能给有问题的模块起别名? use \whatever\this as that;
  • 最好的做法是始终为模块名称使用供应商前缀以避免这种情况。见这里 -> framework.zend.com/manual/current/en/modules/… 理想的做法是说服供应商遵循最佳实践并为其模块采用供应商前缀。

标签: php module zend-framework2 autoloader


【解决方案1】:

正如@Crisp 建议的那样,问题可以最好地解决with a vendor prefix in the module name

您可以轻松地在GitHub 上使用make a fork of the repository 并在应用程序中使用带有前缀的fork,而不是说服供应商并等待他们的下一个版本。

关于如何将您的自定义 fork 包含到 composer.json 中,您可以阅读 here

如果您这样做,您甚至可以发出拉取请求,这可能会鼓励供应商将您的预修复解决方案合并到他们的分支中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-13
    • 2022-08-24
    • 2018-07-16
    • 1970-01-01
    • 2013-11-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多