@flowithwind var_dump($config -> toArray()[ 'type' ][ 18 ][ 'text' ]);string 'abc' (length=3)
(Yaf >=1.0.0)
Yaf_Config_Ini позволяет разработчикам хранить конфигурационные данные в известном INI формате и читать их в приложении с использованием синтаксиса вложенных свойств объекта. INI формат специализируется на обеспечении возможности иметь иерархию ключей конфигурационных данных и наследовании между разделами конфигурационных данных. Иерархия конфигурационных данных поддерживается путём разделения ключей с точкой ("."). Разделы можно расширять или наследовать от других разделов путём проставления после имени раздела двоеточия (":") и названия раздела от которого данные унаследованы.
Замечание:
Yaf_Config_Ini использует функцию parse_ini_file(). Пожалуйста изучите документацию для понимания её поведения, которое наследует Yaf_Config_Ini, такого как обработка специальных значений "
true
", "false
", "yes", "no", и "null
".
Пример #1 Пример использования функции Yaf_Config_Ini()
Этот пример раскрывает базовые особенности использования Yaf_Config_Ini при загрузке данных из INI-файла. В этом примере задаётся конфигурация для промышленной и демонстрационной среды. Так как конфигурация демо-среды очень похожа на конфигурацию промышленной, то она наследует от неё. Но вы в своих приложениях вольны поступать как хотите. В общем, вот такая конфигурация задана в /path/to/config.ini:
; Промышленная среда [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 : 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
@flowithwind var_dump($config -> toArray()[ 'type' ][ 18 ][ 'text' ]);string 'abc' (length=3)
/conf/db.ini[product]database.params.host = localhostdatabase.params.port = 5432 database.params.dbname = postgresdatabase.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' ");?>
when i use Yaf_Config_ini with these lines:type.18.text=abctype.8.text=ddftype.0.text=fjdsklfYou can through this way$$configArr = $config->toArray();var_dump($configArr['type'][18]['text']);result:abc