本节对应书里的The config component。
原文翻译整理如下:

此组件可以使用适配器处理各种格式的配置文件。Phalcon有两个内置适配器,它们是INI和Array。 使用INI文件可能不是个好主意。 因此,我建议您使用数组(Array)。

什么样的数据可以或需要存储在这些文件中呢? 嗯,所有需要包含在应用程序全局变量的数据,如数据库连接参数。在过去,我们使用$ _GLOBALS(会造成很大的安全问题),或者我们使用define()方法,现在我们可以逐渐使用它来实现。

以下是一个配置文件的代码示例,看看我们是怎么使用它的:

<?php
$st_settings = array(
'database' => array(
'adapter' => 'Mysql',
'host' => 'localhost',
'username' => 'john',
'password' => 'johndoe',
'dbname' => 'test_database',
),
'app' => array('name' => 'Learning Phalcon')
);
$config = new \Phalcon\Config($st_settings);
// Get our application name:
echo $config->app->name; // Will output Learning Phalcon

通过使用toArray()方法可以将配置对象转换为数组:

<?php
$st_config = $config->toArray();
echo $config['app']['name']; // Will output Learning Phalcon

对这个对象有用的另一个方法是merge方法。如果我们有多个配置文件,可以使用merge方法轻松将它们整合为一个对象:

<?php
$config = array(
'database' => array(
'adapter' => 'Mysql',
'host' => 'localhost',
'dbname' => 'test_database',
),
'app' => array(
'name' => 'Learning Phalcon'
)
);
$config2 = array(
'database' => array(
'username' => 'john',
'password' => 'johndoe',
)

还有两个尚未实现的适配器(YAML和JSON),但是如果您通过克隆Phalcon的分支(https://github.com/phalcon/incubator),来使用它们。 此分支包含的adapters/helpers可能会在未来集成到正式版的Phalcon中。

Related Posts: 零基础学Phalcon 10 config 组件 :