在ZF2模块化应用中,我有2个不同的助手在2个不同模块中具有相同名称的助手。
我想在第一个模块中使用一个,而在第二个模块中使用一个。
在第一个模块配置文件中,我有一个带有视图帮助者定义的view_helpers
配置密钥。
view_helpers => [
myCustomViewHelper => myCustomViewHelper::class
]
在第二个中,我有一个my_module_view_helpers
config键...
my_module_view_helpers => [
myCustomViewHelper => myCustomViewHelper2::class
]
我想做的就是第二个模块删除第一个。
如何实现这一目标?
我理解,模块加载顺序确定实际注册的哪个。如果您最后加载自定义模块,它应该成为带有该名称的Defatto助手。
确保在两个模块配置中使用正确的键。
'view_helpers' => [
'invokables' => [
'thatHelper' => ThatHelper::class,
],
'factories' => [
'otherHelper' => ThatOtherHelper::class,
]
]
您将遇到的内容是对"其他"模块中该助手的任何程序引用也将使用您的。除非这是意图,否则可能会造成伤害的世界。我的建议,给它一个新名称。;)这只是一个名字!:D