Yaf_Config_Abstract::toArray
Yaf_Config_Ini::__construct
Yaf
PHP Manual

# Yaf_Config_Ini クラス

(Yaf >=1.0.0)

## 導入

Yaf_Config_Ini を使うと、設定データをおなじみの INI 形式で保存でき、アプリケーションからもオブジェクトのプロパティとして読めるようになります。 INI フォーマットを拡張して、設定データを階層構造で扱えるようにしたり 設定セクション間での継承を設定できるようにしたりしています。 設定データの階層は、キーをピリオド(".")で区切って表します。 セクションの継承を表すには、セクション名の後にコロン(":") を続け、その後に継承元のセクション名を指定します。

> 注意:

> Yaf_Config_Ini は、PHP の関数 parse_ini_file() を利用します。 この関数のドキュメントも読んで、その振る舞いを知っておきましょう。 特殊な値、たとえば "`TRUE`"、"`FALSE`"、"yes"、"no"、そして "`NULL`" の扱いも、parse_ini_file() に従います。

## クラス概要

Yaf_Config_Ini extends Yaf_Config_Abstract implements Iterator , ArrayAccess , Countable {
/* プロパティ */
/* メソッド */
public __construct ( string `$config_file` [, string `$section` ] )
public void count ( void )
public void current ( void )
public void __get ([ string `$name` ] )
public void __isset ( string `$name` )
public void key ( void )
public void next ( void )
public void offsetExists ( string `$name` )
public void offsetGet ( string `$name` )
public void offsetSet ( string `$name` , string `$value` )
public void offsetUnset ( string `$name` )
public void readonly ( void )
public void rewind ( void )
public void __set ( string `$name` , mixed `$value` )
public array toArray ( void )
public void valid ( void )
/* 継承したメソッド */
abstract public mixed Yaf_Config_Abstract::get ( string `$name` , mixed `$value` )
abstract public bool Yaf_Config_Abstract::readonly ( void )
abstract public Yaf_Config_Abstract Yaf_Config_Abstract::set ( void )
abstract public array Yaf_Config_Abstract::toArray ( void )
}

## プロパティ

_config

_readonly

## 例

例1 Yaf_Config_Ini() の例

この例は、Yaf_Config_Ini で INI ファイルから設定データを読む方法を示すものです。 この例では、運用環境とステージング環境の設定データを用意しています。 ステージング環境の設定は運用環境とほぼ同じなので、 staging セクションは production セクションを継承しています。 今回の場合はどちらがどちらを継承してもあまり変わらないので 逆に production セクションが staging セクションを継承するようにもできます。 しかし、もっと複雑な設定になるとそうはいかないでしょう。 次のような設定データが /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

## 目次

- Yaf_Config_Ini::__construct — Yaf_Config_Ini のコンストラクタ
- Yaf_Config_Ini::count — The count purpose
- Yaf_Config_Ini::current — The current purpose
- Yaf_Config_Ini::__get — The __get purpose
- Yaf_Config_Ini::__isset — The __isset purpose
- Yaf_Config_Ini::key — The key purpose
- Yaf_Config_Ini::next — The next purpose
- Yaf_Config_Ini::offsetExists — The offsetExists purpose
- Yaf_Config_Ini::offsetGet — The offsetGet purpose
- Yaf_Config_Ini::offsetSet — The offsetSet purpose
- Yaf_Config_Ini::offsetUnset — The offsetUnset purpose
- Yaf_Config_Ini::readonly — The readonly purpose
- Yaf_Config_Ini::rewind — The rewind purpose
- Yaf_Config_Ini::__set — The __set purpose
- Yaf_Config_Ini::toArray — PHP の配列を返す
- Yaf_Config_Ini::valid — The valid purpose

Yaf_Config_Abstract::toArray
Yaf_Config_Ini::__construct
Yaf
PHP Manual