<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/book.yaf.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'ru',
  ),
  'this' => 
  array (
    0 => 'yaf.appconfig.php',
    1 => 'Конфигурация приложения',
    2 => 'Конфигурация приложения',
  ),
  'up' => 
  array (
    0 => 'book.yaf.php',
    1 => 'Yaf',
  ),
  'prev' => 
  array (
    0 => 'yaf.tutorials.php',
    1 => 'Примеры',
  ),
  'next' => 
  array (
    0 => 'class.yaf-application.php',
    1 => 'Yaf_Application',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'ru',
    'path' => 'reference/yaf/appconfig.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="yaf.appconfig" class="chapter">
 <h1 class="title">Конфигурация приложения</h1>

 <p class="para">
  Потребуется задать конфигурацию в виде массива или INI-файла (смотрите
  <span class="classname"><a href="class.yaf-config-ini.php" class="classname">Yaf_Config_Ini</a></span>) в конструкторе
  <span class="methodname"><a href="yaf-application.construct.php" class="methodname">Yaf_Application::__construct()</a></span>.
 </p>
 <p class="para">
  Yaf автоматически объединит параметры приложения и пользовательские
  параметры. Для конфигураций приложений указывают префикс &quot;yaf.&quot;
  или &quot;application.&quot;. При одновременном указании префиксов &quot;yaf.&quot; и &quot;application.&quot; предпочтение отдаётся префиксу &quot;application.&quot;.
  <div class="example" id="example-1">
   <p><strong>Пример #1 Пример PHP-массива</strong></p>
   <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /><br />$configs </span><span style="color: #007700">= array(<br />    </span><span style="color: #DD0000">"application" </span><span style="color: #007700">=&gt; array(<br />        </span><span style="color: #DD0000">"directory" </span><span style="color: #007700">=&gt; </span><span style="color: #0000BB">dirname</span><span style="color: #007700">(</span><span style="color: #0000BB">__FILE__</span><span style="color: #007700">),<br />        </span><span style="color: #DD0000">"dispatcher" </span><span style="color: #007700">=&gt; array(<br />            </span><span style="color: #DD0000">"catchException" </span><span style="color: #007700">=&gt; </span><span style="color: #0000BB">0</span><span style="color: #007700">,<br />        ),<br />        </span><span style="color: #DD0000">"view" </span><span style="color: #007700">=&gt; array(<br />            </span><span style="color: #DD0000">"ext" </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">"phtml"</span><span style="color: #007700">,<br />        ),<br />    ),<br />);<br /><br /></span><span style="color: #0000BB">$app </span><span style="color: #007700">= new </span><span style="color: #0000BB">Yaf_Application</span><span style="color: #007700">(</span><span style="color: #0000BB">$configs</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">?&gt;</span></span></code></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">[yaf]
yaf.directory = APPLICATION_PATH &quot;/application&quot;
yaf.dispatcher.catchException = 0

[product : yaf]
; user configuration list here</pre>
</div>
   </div>

  </div>
 </p>
 <p class="para">
  <table class="doctable table">
   <caption><strong>Конфигурация Yaf приложения</strong></caption>
   
    <thead>
     <tr>
      <th>Имя</th>
      <th>По умолчанию</th>
      <th>Список изменений</th>
     </tr>

    </thead>

    <tbody class="tbody">
     <tr>
      <td>application.directory</td>
      <td class="empty">&nbsp;</td>
      <td></td>
     </tr>

     <tr>
      <td>application.ext</td>
      <td>&quot;php&quot;</td>
      <td></td>
     </tr>

     <tr>
      <td>application.view.ext</td>
      <td>&quot;phtml&quot;</td>
      <td></td>
     </tr>

     <tr>
      <td>application.modules</td>
      <td>&quot;index&quot;</td>
      <td></td>
     </tr>

     <tr>
      <td>application.library</td>
      <td>application.directory . &quot;/library&quot;</td>
      <td></td>
     </tr>

     <tr>
      <td>application.library.directory</td>
      <td>application.directory . &quot;/library&quot;</td>
      <td></td>
     </tr>

     <tr>
      <td>application.library.namespace</td>
      <td>&quot;&quot;</td>
      <td></td>
     </tr>

     <tr>
      <td>application.bootstrap</td>
      <td>application.directory . &quot;/Bootstrap&quot; . application.ext</td>
      <td></td>
     </tr>

     <tr>
      <td>application.baseUri</td>
      <td>&quot;&quot;</td>
      <td></td>
     </tr>

     <tr>
      <td>application.dispatcher.defaultRoute</td>
      <td class="empty">&nbsp;</td>
      <td></td>
     </tr>

     <tr>
      <td>application.dispatcher.throwException</td>
      <td>1</td>
      <td></td>
     </tr>

     <tr>
      <td>application.dispatcher.catchException</td>
      <td>0</td>
      <td></td>
     </tr>

     <tr>
      <td>application.dispatcher.defaultModule</td>
      <td>&quot;index&quot;</td>
      <td></td>
     </tr>

     <tr>
      <td>application.dispatcher.defaultController</td>
      <td>&quot;index&quot;</td>
      <td></td>
     </tr>

     <tr>
      <td>application.dispatcher.defaultAction</td>
      <td>&quot;index&quot;</td>
      <td></td>
     </tr>

     <tr>
      <td>application.system</td>
      <td class="empty">&nbsp;</td>
      <td></td>
     </tr>

    </tbody>
   
  </table>

 </p>

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

 <p class="para">
  <dl>
   
    <dt id="configuration.yaf.directory">
     <code class="parameter">application.directory</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <p class="para">
      Директория, которая содержит папки
      &quot;controllers&quot;(контроллеры), &quot;views&quot;(шаблоны вывода), &quot;models&quot;(модели), &quot;plugins&quot;(плагины).
     </p>
     <p class="para">
      <blockquote class="note"><p><strong class="note">Замечание</strong>: 
       <p class="para">
        Это единственная конфигурация которая не имеет параметров по умолчанию.
        Вы должны ввести её вручную.
       </p>
      </p></blockquote>
     </p>
    </dd>
   
   
    <dt id="configuration.yaf.ext">
     <code class="parameter">application.ext</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <p class="para">
      Расширения файлов PHP-скриптов, использующихся в классе автозагрузки (
      <span class="classname"><a href="class.yaf-loader.php" class="classname">Yaf_Loader</a></span>).
     </p>
    </dd>
   
   
    <dt id="configuration.yaf.view.ext">
     <code class="parameter">application.view.ext</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <p class="para">
      Расширения файлов шаблонов вывода.
     </p>
    </dd>
   
   
    <dt id="configuration.yaf.modules">
     <code class="parameter">application.modules</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <p class="para">
      Список зарегистрированных модулей, разделённых запятыми, используемых в маршрутизации, особенно если в PATH_INFO более трёх сегментов,
     </p>
     <p class="para">
      Yaf должен иметь возможность понять, является ли первый сегмент
      именем модуля или нет.
     </p>
    </dd>
   
   
    <dt id="configuration.yaf.library">
     <code class="parameter">application.library</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <p class="para">
      Локальный каталог с библиотеками, смотрите <span class="classname"><a href="class.yaf-loader.php" class="classname">Yaf_Loader</a></span> и
      <a href="yaf.configuration.php#ini.yaf.library" class="link">yaf.library</a>.
     </p>
     <blockquote class="note"><p><strong class="note">Замечание</strong>: 
      <p class="para">
       После Yaf 2.1.6, эта настройка должна представлять из себя массив.
       Путь к библиотекам будет пытаться использовать элементы
       <a href="yaf.appconfig.php#configuration.yaf.library.directory" class="link">application.library.directory</a>
      </p>
     </p></blockquote>
    </dd>
   
   
    <dt id="configuration.yaf.library.directory">
     <code class="parameter">application.library.directory</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <p class="para">
      Псевдоним для <a href="yaf.appconfig.php#configuration.yaf.library" class="link">application.library</a>.
      Добавлено в Yaf 2.1.6
     </p>
    </dd>
   
   
    <dt id="configuration.yaf.library.namespace">
     <code class="parameter">application.library.namespace</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <p class="para">
      Префиксы пространств имён локальных библиотек, перечисленные через запятую.
     </p>
     <p class="para">
      Добавлено в Yaf 2.1.6
     </p>
    </dd>
   
   
    <dt id="configuration.yaf.bootstrap">
     <code class="parameter">application.bootstrap</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <p class="para">
      Абсолютный путь к скрипту класса Bootstrap.
     </p>
    </dd>
   
   
    <dt id="configuration.yaf.baseuri">
     <code class="parameter">application.baseUri</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <p class="para">
      Используется для удаления фиксированного префикса URI
      запроса в процессе маршрутизации. К примеру, пришёл запрос
      к &quot;/prefix/controller/action&quot;. Если вы зададите application.baseUri
      равным &quot;/prefix&quot;, то в процессе маршрутизации, в качестве
      PATH_INFO будет использоваться только &quot;/controller/action&quot;.
     </p>
     <p class="para">
      В целом, это довольно бесполезная настройка.
     </p>
    </dd>
   
   
    <dt id="configuration.yaf.dispatcher.throwexception">
     <code class="parameter">application.dispatcher.throwException</code>
     <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
    </dt>
    <dd>
     <p class="para">
      При установке значения On модуль Yaf выбрасывает исключения,
      если возникают ошибки. Смотрите также описание метода
      <span class="methodname"><a href="yaf-dispatcher.throwexception.php" class="methodname">Yaf_Dispatcher::throwException()</a></span>.
     </p>
    </dd>
   
   
    <dt id="configuration.yaf.dispatcher.catchexception">
     <code class="parameter">application.dispatcher.catchException</code>
     <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
    </dt>
    <dd>
     <p class="para">
      При установке значения On модуль Yaf отправляет необработанные
      исключения в контроллер Ошибок/Действий. Смотрите также описание метода
      <span class="methodname"><a href="yaf-dispatcher.catchexception.php" class="methodname">Yaf_Dispatcher::catchException()</a></span>.
     </p>
    </dd>
   
   
    <dt id="configuration.yaf.dispatcher.defaulRoute">
     <code class="parameter">application.dispatcher.defaultRoute</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <p class="para">
      Маршрутизация по умолчанию. По умолчанию работает маршрут Static,
      если для директивы не установили другое значение. Смотрите описание метода
      <span class="methodname"><a href="yaf-router.addroute.php" class="methodname">Yaf_Router::addRoute()</a></span>.
     </p>
    </dd>
   
   
    <dt id="configuration.yaf.dispatcher.defaultmodule">
     <code class="parameter">application.dispatcher.defaultModule</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <p class="para">
      Имя модуля по умолчанию, также смотрите описание метода
      <span class="methodname"><a href="yaf-dispatcher.setdefaultmodule.php" class="methodname">Yaf_Dispatcher::setDefaultModule()</a></span>.
     </p>
    </dd>
   
   
    <dt id="configuration.yaf.dispatcher.defaultcontroller">
     <code class="parameter">application.dispatcher.defaultController</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <p class="para">
      Имя контроллера по умолчанию, также смотрите
      <span class="methodname"><a href="yaf-dispatcher.setdefaultcontroller.php" class="methodname">Yaf_Dispatcher::setDefaultController()</a></span>.
     </p>
    </dd>
   
   
    <dt id="configuration.yaf.dispatcher.defaultaction">
     <code class="parameter">application.dispatcher.defaultAction</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <p class="para">
      Имя действия по умолчанию, смотрите также описание метода
      <span class="methodname"><a href="yaf-dispatcher.setdefaultaction.php" class="methodname">Yaf_Dispatcher::setDefaultAction()</a></span>.
     </p>
    </dd>
   

   
    <dt id="configuration.yaf.system">
     <code class="parameter">application.system</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <p class="para">
      Устанавливает yaf-конфигурацию времени выполнения
      в файле application.ini, например:
      <a href="yaf.configuration.php#ini.yaf.lowcase-path" class="link">application.system.lowcase_path</a>.
      <blockquote class="note"><p><strong class="note">Замечание</strong>: 
       <p class="para">
        Этот способ устанавливает только директивы с режимом <strong><code><a href="info.constants.php#constant.ini-all">INI_ALL</a></code></strong>.
       </p>
      </p></blockquote>
     </p>
    </dd>
   

  </dl>
 </p>
</div>
<?php manual_footer($setup); ?>