A classe Yaf_Config_Ini

(Yaf >=1.0.0)

Introdução

Yaf_Config_Ini permite que os desenvolvedores armazenem dados de configuração em um formato INI familiar e os leiam no aplicativo usando sintaxe de propriedade de objeto aninhado. O formato INI é especializado para fornecer a capacidade de ter uma hierarquia de chaves de dados de configuração e herança entre seções de dados de configuração. As hierarquias de dados de configuração são suportadas separando as chaves com o caractere ponto ("."). Uma seção pode estender ou herdar de outra seção seguindo o nome da seção com dois pontos (":") e o nome da seção da qual os dados serão herdados.

Nota:

Yaf_Config_Ini utiliza a função PHP parse_ini_file(). Revise esta documentação para estar ciente de seus comportamentos específicos, que se propagam para Yaf_Config_Ini, e sobre como os valores especiais de "true", "false", "yes", "no" e "null" são manipulados.

Resumo da classe

class Yaf_Config_Ini extends Yaf_Config_Abstract implements Iterator, ArrayAccess, Countable {
/* Propriedades */
/* Métodos */
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
/* Métodos herdados */
abstract public Yaf_Config_Abstract::get(string $name, mixed $value): mixed
}

Propriedades

_config

_readonly

Exemplos

Exemplo #1 Exemplo de Yaf_Config_Ini()

Este exemplo ilustra um uso básico de Yaf_Config_Ini para carregar dados de configuração de um arquivo INI. Neste exemplo, existem dados de configuração para um sistema de produção e para um sistema de testes. Como os dados de configuração do sistema de testes são muito semelhantes aos da produção, a seção de testes herda da seção de produção. Neste caso, a decisão é arbitrária e poderia ter sido escrita de forma inversa, com a seção de produção herdando da seção de testes, embora este possa não ser o caso para situações mais complexas. Suponha, então, que os seguintes dados de configuração estejam contidos em /caminho/para/config.ini:

; Dados de configuração do site de produção
[producao]
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

; Os dados de configuração do site de teste herdam da produção e
; substituem os valores conforme necessário
[testes : producao]
database.params.host     = dev.example.com
database.params.username = devuser
database.params.password = devsecret
<?php
$config
= new Yaf_Config_Ini('/caminho/para/config.ini', 'testes');

var_dump($config->database->params->host);
var_dump($config->database->params->dbname);
var_dump($config->get("database.params.username"));
?>

O exemplo acima produzirá algo semelhante a:

string(15) "dev.example.com"
string(6) "dbname"
string(7) "devuser

Índice