ZF2 /使用具有相同名称的2个不同视图助手

时间:2015-05-06 16:17:01

标签: php zend-framework2

在ZF2模块化应用程序中,我在2个不同的模块中有2个具有相同名称的不同视图助手。

我想在第一个模块中使用一个,在第二个模块中使用另一个。

在第一个模块配置文件中,我有一个view_helpers配置键和我的视图助手定义。

view_helpers => [
    myCustomViewHelper => myCustomViewHelper::class
]

在第二个中,我有一个my_module_view_helpers配置密钥......

my_module_view_helpers => [
    myCustomViewHelper => myCustomViewHelper2::class
]

我想要做的是用第二个模块擦除第一个第二个模块。

如何才能实现这一目标?

1 个答案:

答案 0 :(得分:1)

我知道模块加载顺序决定了实际注册的内容。如果最后加载自定义模块,它应该成为具有该名称的事实上的帮助程序。

确保在两个模块配置中使用正确的键。

function State(){
    this.state = 0; //bitstring representing the user's choices in the UI
}

State.prototype.addFlag = function(flag){
    this.state = (this.state | flag);
}

State.prototype.removeFlag = function(flag){
    this.state = (~this.state | flag);
}

你会遇到的是,“其他”模块中对该助手的任何程序引用也将使用你的。除非这是意图,否则可能会造成伤害。我的建议,给它一个新名字。 ;)这只是一个名字! :d