ZF2:基于模块的应用程序的默认值

时间:2012-01-24 17:25:13

标签: php model-view-controller zend-framework web-applications zend-framework2

我想使用Zend Framework 2编写一个php应用程序(仅测试版2)。

因为它将成为几个Web服务的集合,所以我决定将它分成不同的模块(使用自己的数据库)。

在开始编写第一个模块之前,我想编写每个模块应该需要的代码。例如布局。每个模块使用相同的布局。这就是为什么我想在全球范围内编写它来改进单个模块的开发过程。

如何在全球范围内为每个模块提供默认值? (例如布局,插件,默认数据库模型,......)

1 个答案:

答案 0 :(得分:0)

在ZendFramework2中,所有模块的配置始终合并。 此外,还有一个全局配置可以覆盖模块式配置。 因此,包括供应商模块会带来默认配置,您可以并且应该通过全局配置覆盖。 全局配置可能包含多个文件,因此可以轻松区分要配置的模块。

我的第一个例子是article of akrabat about module configuration and overrides

这种模式的另一个很好的例子是Akrabat的快速启动(https://github.com/akrabat/zf2-tutorial):

  • 一个基于ZendSkeletonApp
  • 的App模块
  • 一个相册模块,您实际执行的部分。

在App模块中,有基本路由的配置,视图和布局设置 在Album模块中,只有针对Album特定事物的设置(例如依赖注入),视图和路由使用来自App-modules配置。

您可能决定在每个模块或全局覆盖此配置,在默认项目布局中,您的配置如下:

/config/application.config.php基本配置
/config/autoload/*.config.php可用于覆盖模块或应用配置(例如,用于本地开发) /module/[your-module]/config/[your-module].config.php模块的默认配置
/vendor/[vendor-module]/config/[vendor-module].config.php您放入的模块,但它具有依赖注入的定义。如果它使用例如要在/config/autoload/*

中覆盖部分参数的数据库