@flowithwind
var_dump($config -> toArray()[ 'type' ][ 18 ][ 'text' ]);
string 'abc' (length=3)
(Yaf >=1.0.0)
Yaf_Config_Ini 允许开发者将配置数据存储在熟悉的 INI 格式中,并通过使用嵌套对象属性语法在应用程序中读取它们。INI 格式专门用于提供配置数据键层次结构和配置数据节之间继承的能力。配置数据层次结构通过用点或句点字符(".")分隔键来支持。一个节可以通过在节名后面添加冒号字符(":")和要继承数据的节名来扩展或继承另一个节。
注意:
Yaf_Config_Ini 使用 » parse_ini_file() PHP 函数。请查看此文档以了解其特定行为,这些行为会传播到 Yaf_Config_Ini,例如如何处理 "
true
"、"false
"、"yes"、"no" 和 "null
" 的特殊值。
示例 #1 Yaf_Config_Ini()示例
此示例说明了 Yaf_Config_Ini 的基本用法,用于从 INI 文件加载配置数据。在此示例中,生产系统和暂存系统都有配置数据。由于暂存系统配置数据与生产系统的配置数据非常相似,因此暂存节继承了生产节。在这种情况下,该决定是任意的,也可以相反地编写,即生产节继承暂存节,尽管对于更复杂的情况可能并非如此。假设,然后,以下配置数据包含在 /path/to/config.ini 中
; Production site configuration data [production] webhost = www.example.com database.adapter = pdo_mysql database.params.host = db.example.com database.params.username = dbuser database.params.password = secret database.params.dbname = dbname ; Staging site configuration data inherits from production and ; overrides values as necessary [staging : production] database.params.host = dev.example.com database.params.username = devuser database.params.password = devsecret
<?php
$config = new Yaf_Config_Ini('/path/to/config.ini', 'staging');
var_dump($config->database->params->host);
var_dump($config->database->params->dbname);
var_dump($config->get("database.params.username"));
?>
上面的示例将输出类似以下内容
string(15) "dev.example.com" string(6) "dbname" string(7) "devuser
@flowithwind
var_dump($config -> toArray()[ 'type' ][ 18 ][ 'text' ]);
string 'abc' (length=3)
当我使用 Yaf_Config_ini 这些行时
type.18.text=abc
type.8.text=ddf
type.0.text=fjdsklf
你可以通过这种方式
$$configArr = $config->toArray();
var_dump($configArr['type'][18]['text']);
结果
abc
/conf/db.ini
[product]
database.params.host = localhost
database.params.port = 5432
database.params.dbname = postgres
database.params.username = 'postgres'
database.params.password = 123456
<?php
$config = new Yaf_Config_ini('../conf/db.ini','product');
$config = $config->toArray();
$host = $config['database']['params']['host'];
$port = $config['database']['params']['port'];
$database = $config['database']['params']['dbname'];
$username = $config['database']['params'['username'];
$password = $config['database']['params']['password'];
$pg_conn = pg_connect("host='$host' port='$port' dbname='$database' user='$username' password='$password' ");
?>