首页 > PHP资讯 > PHP培训技术 > Yii管理不同模式下应用程序的配置

Yii管理不同模式下应用程序的配置

PHP培训技术

在开始之前我们应该注意应用的配置作为php脚本来保存。因此我们可以放置任何 有效的php代码 在里面,这会使配置更加 '智能' 而不是简简单单的放回值对(name-value pairs)。

首先我们创建 主(main) 应用配置并保存为 main.php 文件。这个文件应该包含所有在生产模式下必要的配置。

下面我们创建 开发(development) 应用配置并保存为 dev.php。因为开发的配置和主配置大部分相同,所有我们通过 继承 的方式来创建。我们使用 CMap::mergeArray 来实施继承。

代码中首先包含了main.php文件,并自定义了配置数组(例子中演示了数据库链接 DB connection 的配置)。然后返回两个配置合并后的结果作为最终的开发配置。注意我们在这没有使用php的函数array_merge()或array_merge_recursive()是因为它们不会已我们期望的方式去合并两个数组。

我们可以用同样的方式定义 测试 应用配置并保存为test.php

为了在不同的模式(生产、开发或测试)下运行程序我们应该在入口使用相对应的配置。为了防止在切换模式时修改入口文件的麻烦,我们可以为每个模式创建独立的入口。例如我们可以创建index.php,index-dev.php和index-test.php分别对应生产、开发和测试模式。在生产模式我们通过浏览器访问index.php,在开发模式访问index_dev.php,在测试模式访问index-test.php。

在团队开发中环境使用源码控制系统(如 SVN,CVS,GIT)来控制,每个开发者都希望有独立的应用配置(例如他们有不同的数据库连接)。所以在源码库中我们应该只保存 main.php 文件。每个开发人员的配置文件的其余部分只应保留在自己本地,以避免冲突。

Tip: 同样的方法也可以应用与其他基于PHP的配置。例如我们保存应用程序参数(通过Yii::app()->params方式访问)为一个 PHP 文件,我们可以使用上面的方法在不同的模式下自定义不同的参数

PHP培训技术

本文由欣才IT学院整理发布,未经许可,禁止转载。
支持41不支持0