配置(Configuration)
在本章中,我们将了解如何配置FuelPHP应用程序。 默认情况下,配置文件存储在fuel/app/config文件夹中。 该应用程序的主要配置是fuel/app/config/config.php 。 使用PHP的关联数组指定配置。
概述 (Overview)
默认情况下,所有默认配置文件都在fuel/core/config文件夹中定义。 要覆盖默认配置,请在/fuel/app/config/config.php文件中添加相应的密钥并修改该值。 我们可以使用“点符号”来简化多维数组。 例如,以下配置用于相同的目的(加载指定的包)。
array("always_load" => array("packages" => array( ... ) ) );
always_load.packages = array( ... );
配置可以按目的进行分组,并使用不同的文件指定,例如db.php用于数据库配置,package.php用于包管理等。
配置格式的类型
FuelPHP非常灵活,并提供不同的格式来指定配置。 默认配置格式是PHP使用php数组。 其他选择是 -
INI - 许多软件支持的简单的基于文本的配置,包括PHP语言本身。
[group]
key = value
YAML - 易于理解,基于缩进和人类可读的配置管理。
group:
key: value
JSON - 开发人员易于理解和使用最多的文件格式。
{
"group" :
{
"key": "value"
}
}
Memcached - 将配置存储在memcached服务器中。 可以使用config.memcached条目在主配置文件fuel/app/config/config.php指定memcached服务器详细信息。
DB - 在RDBMS系统中存储配置。 配置表的表结构如下。
CREATE TABLE IF NOT EXISTS `config` (
`identifier` char(100) NOT NULL,
`config` longtext NOT NULL,
`hash` char(13) NOT NULL,
PRIMARY KEY (`identifier`)
)
可以使用config.database和config.table_name条目在配置文件中指定数据库和表详细信息。
环境 (Environment)
环境通过加载不同的配置使FuelPHP能够以不同的模式工作。 FuelPHP支持以下环境。
Development - \Fuel :: DEVELOPMENT设置开发模式
Production - \Fuel :: PRODUCTION设置生产模式
Test - \Fuel :: TEST设置测试模式
Staging - \Fuel :: STAGING设置暂存模式
FuelPHP还支持创建新环境。 这将使每个开发人员都能拥有自己的配置设置,并且可以在编写和测试应用程序时启用它。 只需创建一个包含环境名称的文件夹(例如:test)并将配置文件放在新创建的文件夹中,即可添加特定环境的配置,如下所示。
. ├── config.php
├── db.php
├── development
│ └── db.php
├── production
│ └── db.php
├── routes.php
├── staging
│ └── db.php
└── test
└── db.php
4 directories, 7 files
设置你的环境
有三种方法可以设置您的环境。
Option 1 - 使用Web服务器的环境变量设置环境。 在Apache Web服务器的httpd.conf文件的虚拟主机部分中添加以下代码。 它也可以添加到.htaccess文件中。
SetEnv FUEL_ENV production
Option 2 - 使用FuelPHP引导程序文件/fuel/app/bootstrap.php设置环境
Fuel::$env = (isset($_SERVER['FUEL_ENV']
Option 3 - 使用油设置环境
$ env FUEL_ENV = production php oil -v
它产生以下结果。
Fuel: 1.8 running in "production" mode