在Zend Framework 2中,我编写了一个带有自定义配置选项的模块。
使用服务定位器获取选项,然后将其传递给在工厂内初始化的对象。
由于我的配置是PHP数组格式,我可以传递数组,或者我可以先创建Zend\Config\Config
的新实例并将其传递给新对象。
我尝试了两种方式&它们都有效,但在ZF2和ZF2中这样做的推荐方法是什么?为什么?使用Zend\Config\Config
有什么好处吗?
特别是因为我刚才注意到可以使用Config
将toArray()
强制转换回数组我很好奇可能会受益。
答案 0 :(得分:1)
通过使用该对象,您将使用Zend固有的OOP,并且它具有基本阵列不可用的功能,并且可以扩展为在需要时使用自定义业务逻辑。
IE,也许会出现一个会改变其中一个配置选项的情况,但其余的都是相同的。
答案 1 :(得分:0)
如果我正在为其他人开发项目,我想给他们一定级别的配置访问权限,这样他们就没有任何理由深入研究代码本身。我将在数据库中创建一个名为'settings'或'config'的表,管理员可以通过表单访问该表,并且数据填充php配置数组。为了做到这一点,PHP数组格式是可行的方法。
(“a”推荐,不一定是“推荐方式”)
答案 2 :(得分:0)
大多数模块只是添加到全局配置中,可以通过$serviceManager->get('config')
这样,您的配置可以稍后通过config_cache_enabled
中的application.config.php
进行缓存,用户可以使用其本地配置覆盖配置选项。
如果您的模块配置与全局配置机制无关,则由您决定如何存储/管理它。将它保存为数组更简单,而将其用作Zend\Config\Config
可以使用各种工具进行配置(ini编写器,数据库等)。