<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/refs.basic.other.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'ru',
  ),
  'this' => 
  array (
    0 => 'book.yaconf.php',
    1 => 'Yaconf',
    2 => 'Модуль ini-конфигураций Yaconf',
  ),
  'up' => 
  array (
    0 => 'refs.basic.other.php',
    1 => 'Другие базовые модули',
  ),
  'prev' => 
  array (
    0 => 'class.yaf-exception-loadfailed-view.php',
    1 => 'Yaf_Exception_LoadFailed_View',
  ),
  'next' => 
  array (
    0 => 'yaconf.setup.php',
    1 => 'Установка и настройка',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'ru',
    'path' => 'reference/yaconf/book.xml',
  ),
  'history' => 
  array (
  ),
  'extra_header_links' => 
  array (
    'rel' => 'alternate',
    'href' => '/manual/en/feeds/book.yaconf.atom',
    'type' => 'application/atom+xml',
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="book.yaconf" class="book">
 
 <h1 class="title">Модуль ini-конфигураций Yaconf</h1>
 

 <div id="intro.yaconf" class="preface">
  <h1 class="title">Введение</h1>
  <p class="para">
   Модуль <code class="literal">Yet Another Configurations Container</code>,
   или <abbr>Yaconf</abbr>, — ещё один контейнер конфигураций,
   который разбирает <code class="literal">INI</code>-файлы и сохраняет результат
   в PHP при запуске, результат сохраняется на протяжении жизненного цикла PHP.
  </p>
  <p class="para">
   Yaconf-контейнер сохраняет каждую конфигурацию
   как интернированную строку или неизменяемый массив. Для таких данных не ведётся
   подсчёт ссылок, как при работе механизма refcount. Поэтому <abbr>Yaconf</abbr>-конфигурации
   извлекаются быстро — близко к механизму zero-copy по приросту производительности.
  </p>
  <p class="para">
   Yaconf поддерживает в <code class="literal">INI</code>-файлах разделы и наследование разделов конфигураций.
   Модуль Yaconf поддерживает автоматическую перезагрузку конфигураций после изменений <code class="literal">INI</code>-файлов,
   если PHP собрали в непотокобезопасном режиме — без поддержки ZTS.
  </p>
  <p class="para">
   Для работы модуля Yaconf требуется PHP 7.0 или выше.
  </p>
  <div class="example" id="example-1">
   <p><strong>Пример #1 Пример INI-файла</strong></p>
   <div class="example-contents">
<div class="inicode"><pre class="inicode">;Простая пара ключ-значение
key=val

;Хеш
hash.a=val

;Массив
arr.0=val
;или так
arr[]=val

;PHP-константа
version=PHP_VERSION

;Переменная окружения
env=${PATH}</pre>
</div>
   </div>

  </div>
  <div class="example" id="example-2">
   <p><strong>Пример #2 Пример INI-файла с разделами</strong></p>
   <div class="example-contents">
<div class="inicode"><pre class="inicode">[SectionA]
key=val
hash.a=val

;Раздел SectionB наследует раздел SectionA
[SectionB:SectionA]
key=new_val ;переопределение параметра key из раздела SectionA</pre>
</div>
   </div>

  </div>
 </div>

 





 






<ul class="chunklist chunklist_book"><li><a href="yaconf.setup.php">Установка и настройка</a><ul class="chunklist chunklist_book chunklist_children"><li><a href="yaconf.requirements.php">Требования</a></li><li><a href="yaconf.installation.php">Установка</a></li><li><a href="yaconf.configuration.php">Настройка во время выполнения</a></li><li><a href="yaconf.resources.php">Типы ресурсов</a></li></ul></li><li><a href="class.yaconf.php">Yaconf</a> — Класс Yaconf<ul class="chunklist chunklist_book chunklist_children"><li><a href="yaconf.get.php">Yaconf::get</a> — Извлечь элемент</li><li><a href="yaconf.has.php">Yaconf::has</a> — Определить, существует ли элемент</li></ul></li></ul></div><?php manual_footer($setup); ?>