The Yaf_Config_Ini class

The Yaf_Config_Ini class

(Yaf >=1.0.0)

簡介

Yaf_Config_Ini允許開發者通過巢狀的對象屬性語法在應用程式中用熟悉的INI格式儲存和讀取配置數據。 INI格式在提供擁有配置數據鍵的等級結構和配置數據節之間的繼承能力方面具有專長。 配置數據等級結構通過用點或者句號(.)分離鍵值。 一個節可以擴充套件或者通過在節的名稱之後帶一個冒號(:)和被繼承的配置數據的節的名稱來從另一個節繼承。

注意:

Yaf_Config_Ini利用PHP的函式parse_ini_file()來解析配置檔案的。 請仔細檢視這個函式的文件,注意它的一些特殊用途。以及它傳遞給Yaf_Config_Ini的一些比如 "TRUE", "FALSE","yes", "no", 和"NULL"的特殊值的處理方式

類摘要

class Yaf_Config_Ini extends Yaf_Config_Abstract implements Iterator, Traversable, ArrayAccess, Countable {
/* 屬性 */
/* 方法 */
public __construct(string $config_file, string $section = ?)
public count(): void
public current(): void
public __get(string $name = ?): void
public __isset(string $name): void
public key(): void
public next(): void
public offsetExists(string $name): void
public offsetGet(string $name): void
public offsetSet(string $name, string $value): void
public offsetUnset(string $name): void
public readonly(): void
public rewind(): void
public __set(string $name, mixed $value): void
public toArray(): void
public valid(): void
/* 繼承的方法 */
abstract public Yaf_Config_Abstract::get(string $name, mixed $value): mixed
abstract public Yaf_Config_Abstract::readonly(): bool
abstract public Yaf_Config_Abstract::toArray(): array
}

屬性

_config

_readonly

範例

示例 #1 Yaf_Config_Ini()example

這個例子說明了使用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

目錄

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *