Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何通过zend framework 2在另一个模块中注入模块?_Php_Design Patterns_Module_Zend Framework2 - Fatal编程技术网

Php 如何通过zend framework 2在另一个模块中注入模块?

Php 如何通过zend framework 2在另一个模块中注入模块?,php,design-patterns,module,zend-framework2,Php,Design Patterns,Module,Zend Framework2,我试图理解如何通过zf2创建两个简单的独立模块,其中模块B调用模块A的一些信息/功能 例如: 模块A处理站点的页面 模块B处理现场可用的语言 模块A连接到数据表,其中字段为:[id、标题、内容、语言\u id] 模块B连接到数据表,其中字段为:[id,语言] 模块A[语言id]不是强制性的 模块A需要从模块B获取语言列表。 模块B没有任何其他模块依赖性 我想在不引发异常的情况下禁用模块B。 我想启用模块B并查看模块A表单中的语言选择器 这可能吗?谢谢在config/Module.config.p

我试图理解如何通过zf2创建两个简单的独立模块,其中模块B调用模块A的一些信息/功能

例如:

模块A处理站点的页面 模块B处理现场可用的语言

模块A连接到数据表,其中字段为:[id、标题、内容、语言\u id] 模块B连接到数据表,其中字段为:[id,语言]

模块A[语言id]不是强制性的

模块A需要从模块B获取语言列表。 模块B没有任何其他模块依赖性

我想在不引发异常的情况下禁用模块B。 我想启用模块B并查看模块A表单中的语言选择器


这可能吗?谢谢

config/Module.config.php

“我的模块”=>数组(“有语言模块”=>true)

然后在模块A中,您可以检查:

$config=$this->getServiceLocator()->get('config');
如果(isset($config['my_module']['have_lang_module']){…}

我不是专家,但我不明白为什么这不起作用。基本上是配置文件
已加载并合并,可供所有模块使用。

如果模块B处理语言,如果您禁用模块B,您希望看到什么,而不是表单中的语言选择器?您好,很简单。该功能将不再可用,模块A中的语言信息将不再可见。我想禁用它feature@Marius.C你能给我看看样品吗?我想在模块A中添加模块B而不做任何更改。模块A拦截模块B的存在并激活新功能。这太复杂了吗?嗨,马吕斯,用这种方式你必须修改代码。我想要实现的是通过其他模块在一个模块中创建一个自动的“特性注入”。