<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/yaconf.setup.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'ru',
  ),
  'this' => 
  array (
    0 => 'yaconf.configuration.php',
    1 => 'Настройка во время выполнения',
    2 => 'Настройка во время выполнения',
  ),
  'up' => 
  array (
    0 => 'yaconf.setup.php',
    1 => 'Установка и настройка',
  ),
  'prev' => 
  array (
    0 => 'yaconf.installation.php',
    1 => 'Установка',
  ),
  'next' => 
  array (
    0 => 'yaconf.resources.php',
    1 => 'Типы ресурсов',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'ru',
    'path' => 'reference/yaconf/ini.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="yaconf.configuration" class="section">
 <h2 class="title">Настройка во время выполнения</h2>
 <p class="simpara">
Поведение функций зависит от установок в файле <var class="filename">php.ini</var>.
</p>
 <p class="para">
  <table class="doctable table">
   <caption><strong>Опции настройки Yaconf</strong></caption>
   
    <thead>
     <tr>
      <th>Имя</th>
      <th>По умолчанию</th>
      <th>Место изменения</th>
      <th>Список изменений</th>
     </tr>

    </thead>

    <tbody class="tbody">
     <tr>
      <td><a href="yaconf.configuration.php#ini.yaconf.directory" class="link">yaconf.directory</a></td>
      <td><code class="literal">&quot;&quot;</code></td>
      <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="yaconf.configuration.php#ini.yaconf.check-delay" class="link">yaconf.check_delay</a></td>
      <td><code class="literal">300</code></td>
      <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

    </tbody>
   
  </table>

 </p>

 <p class="simpara">Краткое разъяснение конфигурационных
директив.</p>

 <p class="para">
  <dl>
   
     <dt id="ini.yaconf.directory">
      <code class="parameter">yaconf.directory</code>
      <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
     </dt>
     <dd>
      <p class="simpara">
       Каталог, в котором размещают все INI-файлы конфигураций. Загружаются
       только файлы с расширением <var class="filename">.ini</var>.
       Подкаталоги загружаются рекурсивно, на глубину до 16 уровней; каждый
       из них выступает уровнем ключа, поэтому файл
       <var class="filename">database.ini</var>, который положили в подкаталог
       <var class="filename">users/</var>, адресуют как
       <code class="literal">&quot;users.database&quot;</code>. Доступно начиная с Yaconf 1.2.0;
       раньше загружались только файлы непосредственно в самом каталоге.
      </p>
      <p class="simpara">
       Примеры ниже предполагают, что в настроенном каталоге лежит следующий
       файл <var class="filename">database.ini</var>, а рядом с ним —
       файл <var class="filename">features.ini</var> с настройками отдельных
       возможностей.
      </p>
      <div class="example" id="example-1">
       <p><strong>Пример #1 Синтаксис INI-файла</strong></p>
       <div class="example-contents">
<div class="inicode"><pre class="inicode">; database.ini
name=production                        ; скалярное значение
version=PHP_VERSION                    ; PHP-константы раскрываются
connection_string=${DATABASE_URL}      ; переменные окружения раскрываются
options.max_connections=50             ; вложенный ключ хеша
options.timeout=30

; элементы массива, обе записи равнозначны
replicas.0=replica-1.example.com
replicas[]=replica-2.example.com</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">; features.ini
[default]
cache_enabled=on
rate_limit=100

; раздел «premium» наследует каждый ключ раздела «default»
; и переопределяет те, которые задаёт заново
[premium:default]
rate_limit=1000</pre>
</div>
       </div>

      </div>
     </dd>
   
   
     <dt id="ini.yaconf.check-delay">
      <code class="parameter">yaconf.check_delay</code>
      <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
     </dt>
     <dd>
      <p class="simpara">
       Интервал в секундах, с которым Yaconf проверяет, изменился ли какой-нибудь
       из загруженных INI-файлов, и перезагружает изменившиеся; изменение
       определяют сравнением времени изменения каталогов.
       Значение <code class="literal">0</code> заставляет Yaconf проверять при каждом запросе.
      </p>
      <blockquote class="note"><p><strong class="note">Замечание</strong>: 
       <p class="simpara">
        Директиву регистрируют только в сборках без ZTS. В потокобезопасных
        сборках (ZTS) конфигурации загружаются при запуске, автоматическая
        перезагрузка недоступна; чтобы подхватить изменения, PHP перезапускают.
       </p>
      </p></blockquote>
     </dd>
   
  </dl>
 </p>
</div><?php manual_footer($setup); ?>