@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' ");
?>