Класс Yaf_Config_Ini

(Yaf >=1.0.0)

Введение

Yaf_Config_Ini позволяет разработчикам хранить конфигурационные данные в известном INI формате и читать их в приложении с использованием синтаксиса вложенных свойств объекта. INI формат специализируется на обеспечении возможности иметь иерархию ключей конфигурационных данных и наследовании между разделами конфигурационных данных. Иерархия конфигурационных данных поддерживается путём разделения ключей с точкой ("."). Разделы можно расширять или наследовать от других разделов путём проставления после имени раздела двоеточия (":") и названия раздела от которого данные унаследованы.

Замечание:

Yaf_Config_Ini использует функцию parse_ini_file(). Пожалуйста изучите документацию для понимания её поведения, которое наследует Yaf_Config_Ini, такого как обработка специальных значений "true", "false", "yes", "no", и "null".

Обзор класса

class Yaf_Config_Ini extends Yaf_Config_Abstract implements Iterator, ArrayAccess, Countable {
/* Свойства */
/* Методы */
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
/* Наследуемые методы */
abstract public Yaf_Config_Abstract::get(string $name, mixed $value): mixed
}

Свойства

_config

_readonly

Примеры

Пример #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

Содержание

Добавить

Примечания пользователей 3 notes

up
2
lee dot howarth dot 90 at gmail dot com
11 years ago
@flowithwind var_dump($config -> toArray()[ 'type' ][ 18 ][ 'text' ]);string 'abc' (length=3)
up
1
Mark
10 years ago
/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' ");?>
up
0
zzxiaoman at gmail dot com
10 years ago
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
To Top