Yet Another Framework Yaf_Config_Ini 클래스

(Yaf >=1.0.0)


소개

Yaf_Config_Ini를 사용하면 개발자가 익숙한 INI 형식으로 구성 데이터를 저장하고 중첩된 개체 속성 구문을 사용하여 애플리케이션에서 읽을 수 있습니다.

INI 형식은 구성 데이터 키의 계층 구조와 구성 데이터 섹션 간의 상속을 모두 제공하는 데 특화되어 있습니다. 구성 데이터 계층은 점 또는 마침표(".")로 키를 구분하여 지원됩니다.

섹션은 콜론 문자(":")가 있는 섹션 이름과 데이터를 상속받을 섹션 이름을 따라 다른 섹션에서 확장하거나 상속할 수 있습니다.

메모: Yaf_Config_Ini는 » parse_ini_file() PHP 함수를 사용합니다. "true", "false", "yes", "no" 및 "null"의 특수 값이 처리되는 방식과 같이 Yaf_Config_Ini에 전파되는 특정 동작에 대해 이 문서를 검토하십시오.


클래스 개요

                  
class Yaf_Config_Ini extends Yaf_Config_Abstract implements Iterator, ArrayAccess, Countable {

  /* Properties */

  /* Methods */
  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(): array
  public valid(): void

  /* Inherited methods */
  abstract public Yaf_Config_Abstract::get(string $name, mixed $value): mixed
  abstract public Yaf_Config_Abstract::readonly(): bool
  abstract public Yaf_Config_Abstract::set(): Yaf_Config_Abstract
  abstract public Yaf_Config_Abstract::toArray(): array
}
                  
                

Properties

_config
_readonly

Examples

예제 #1 Yaf_Config_Ini() 예제

이 예는 INI 파일에서 구성 데이터를 로드하기 위한 Yaf_Config_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
                 

목차