@flowithwind
var_dump($config -> toArray()[ 'type' ][ 18 ][ 'text' ]);
string 'abc' (length=3)
(Yaf >=1.0.0)
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.
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
@flowithwind
var_dump($config -> toArray()[ 'type' ][ 18 ][ 'text' ]);
string 'abc' (length=3)
when i use Yaf_Config_ini with these lines:
type.18.text=abc
type.8.text=ddf
type.0.text=fjdsklf
You can through this way
$$configArr = $config->toArray();
var_dump($configArr['type'][18]['text']);
result:
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' ");
?>