<?xml version="1.0" encoding="windows-1251"?>
<rss version="2.0">
<channel>
<title>CakePHP - Manual/Developing/Configuration</title>
<link>http://cake-php.ru/wiki/Manual/Developing/Configuration</link>
<description>History/revisions of CakePHP/Manual/Developing/Configuration</description>
<language>en-us</language>
<item>
<title>2008-10-31 22:57:50</title>
<link>http://cake-php.ru/wiki/Manual/Developing/Configuration/show?time=2008-10-31+22%3A57%3A50</link>
<description>&lt;div class="pageBefore">&lt;img src="http://cake-php.ru/wiki/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Сравнение версий &lt;a name=".manual.developing.configuration" href="http://cake-php.ru/wiki/Manual/Developing/Configuration" class="">/Manual&amp;nbsp;/&amp;nbsp;Developing&amp;nbsp;/&amp;nbsp;Configuration&lt;/a> за &lt;a href="http://cake-php.ru/wiki/Manual/Developing/Configuration?time=2008-10-31+22%3A57%3A50">2008-10-31 22:57:50&lt;/a> и &lt;a href="http://cake-php.ru/wiki/Manual/Developing/Configuration">2008-10-31 22:58:01&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Добавлено:&lt;/b>&lt;br />
&lt;div class="additions">&lt;ul>&lt;li> &lt;span class="missingpage">Самонастройка CakePHP&lt;/span>&lt;a href="http://cake-php.ru/wiki/Bootstrapping/edit?add=1" title="Создать эту страницу">?&lt;/a>&lt;/li>&lt;/ul>&lt;/div>&lt;br />
&lt;b>Удалено:&lt;/b>&lt;br />
&lt;div class="deletions">&lt;ul>&lt;li> &lt;span class="missingpage">Самонастройка ~CakePHP&lt;/span>&lt;a href="http://cake-php.ru/wiki/Bootstrapping/edit?add=1" title="Создать эту страницу">?&lt;/a>&lt;/li>&lt;/ul>&lt;/div>&lt;/div>
</description>
</item>
<item>
<title>2008-10-31 22:50:56</title>
<link>http://cake-php.ru/wiki/Manual/Developing/Configuration/show?time=2008-10-31+22%3A50%3A56</link>
<description>&lt;div class="pageBefore">&lt;img src="http://cake-php.ru/wiki/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Сравнение версий &lt;a  href="http://cake-php.ru/wiki/Manual/Developing/Configuration" class="">/Manual&amp;nbsp;/&amp;nbsp;Developing&amp;nbsp;/&amp;nbsp;Configuration&lt;/a> за &lt;a href="http://cake-php.ru/wiki/Manual/Developing/Configuration?time=2008-10-31+22%3A50%3A56">2008-10-31 22:50:56&lt;/a> и &lt;a href="http://cake-php.ru/wiki/Manual/Developing/Configuration?time=2008-10-31+22%3A57%3A50">2008-10-31 22:57:50&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Добавлено:&lt;/b>&lt;br />
&lt;div class="additions">&lt;ul>&lt;li> &lt;span class="missingpage">Самонастройка ~CakePHP&lt;/span>&lt;a href="http://cake-php.ru/wiki/Bootstrapping/edit?add=1" title="Создать эту страницу">?&lt;/a>&lt;/li>&lt;/ul>&lt;/div>&lt;/div>
</description>
</item>
<item>
<title>2008-05-17 14:42:03</title>
<link>http://cake-php.ru/wiki/Manual/Developing/Configuration/show?time=2008-05-17+14%3A42%3A03</link>
<description>&lt;div class="pageBefore">&lt;img src="http://cake-php.ru/wiki/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Сравнение версий &lt;a  href="http://cake-php.ru/wiki/Manual/Developing/Configuration" class="">/Manual&amp;nbsp;/&amp;nbsp;Developing&amp;nbsp;/&amp;nbsp;Configuration&lt;/a> за &lt;a href="http://cake-php.ru/wiki/Manual/Developing/Configuration?time=2008-05-17+14%3A42%3A03">2008-05-17 14:42:03&lt;/a> и &lt;a href="http://cake-php.ru/wiki/Manual/Developing/Configuration?time=2008-10-31+22%3A50%3A56">2008-10-31 22:50:56&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Добавлено:&lt;/b>&lt;br />
&lt;div class="additions">&lt;ul>&lt;li> &lt;span class="missingpage">Custom Inflections&lt;/span>&lt;a href="http://cake-php.ru/wiki/CustomInflections/edit?add=1" title="Создать эту страницу">?&lt;/a>&lt;/li>&lt;/ul>&lt;/div>&lt;/div>
</description>
</item>
<item>
<title>2008-05-17 14:36:52</title>
<link>http://cake-php.ru/wiki/Manual/Developing/Configuration/show?time=2008-05-17+14%3A36%3A52</link>
<description>&lt;div class="pageBefore">&lt;img src="http://cake-php.ru/wiki/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Сравнение версий &lt;a  href="http://cake-php.ru/wiki/Manual/Developing/Configuration" class="">/Manual&amp;nbsp;/&amp;nbsp;Developing&amp;nbsp;/&amp;nbsp;Configuration&lt;/a> за &lt;a href="http://cake-php.ru/wiki/Manual/Developing/Configuration?time=2008-05-17+14%3A36%3A52">2008-05-17 14:36:52&lt;/a> и &lt;a href="http://cake-php.ru/wiki/Manual/Developing/Configuration?time=2008-05-17+14%3A42%3A03">2008-05-17 14:42:03&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Добавлено:&lt;/b>&lt;br />
&lt;div class="additions">&lt;ul>&lt;li> &lt;span class="missingpage">Настройка роутов (маршрутизаций)&lt;/span>&lt;a href="http://cake-php.ru/wiki/Routes/edit?add=1" title="Создать эту страницу">?&lt;/a>&lt;/li>&lt;/ul>&lt;/div>&lt;br />
&lt;b>Удалено:&lt;/b>&lt;br />
&lt;div class="deletions">&lt;ul>&lt;li> &lt;span class="missingpage">Настройка роутов (маршрутизаций&lt;/span>&lt;a href="http://cake-php.ru/wiki/Routes/edit?add=1" title="Создать эту страницу">?&lt;/a>)&lt;/li>&lt;/ul>&lt;/div>&lt;/div>
</description>
</item>
<item>
<title>2008-01-17 14:15:00</title>
<link>http://cake-php.ru/wiki/Manual/Developing/Configuration/show?time=2008-01-17+14%3A15%3A00</link>
<description>&lt;div class="pageBefore">&lt;img src="http://cake-php.ru/wiki/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Сравнение версий &lt;a  href="http://cake-php.ru/wiki/Manual/Developing/Configuration" class="">/Manual&amp;nbsp;/&amp;nbsp;Developing&amp;nbsp;/&amp;nbsp;Configuration&lt;/a> за &lt;a href="http://cake-php.ru/wiki/Manual/Developing/Configuration?time=2008-01-17+14%3A15%3A00">2008-01-17 14:15:00&lt;/a> и &lt;a href="http://cake-php.ru/wiki/Manual/Developing/Configuration?time=2008-05-17+14%3A36%3A52">2008-05-17 14:36:52&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Добавлено:&lt;/b>&lt;br />
&lt;div class="additions">&lt;ul>&lt;li> &lt;span class="missingpage">Настройка базы данных&lt;/span>&lt;a href="http://cake-php.ru/wiki/Database/edit?add=1" title="Создать эту страницу">?&lt;/a>
&lt;/li>&lt;li> &lt;span class="missingpage">Настройка ядра&lt;/span>&lt;a href="http://cake-php.ru/wiki/Core/edit?add=1" title="Создать эту страницу">?&lt;/a>
&lt;/li>&lt;li> &lt;span class="missingpage">Настройка роутов (маршрутизаций&lt;/span>&lt;a href="http://cake-php.ru/wiki/Routes/edit?add=1" title="Создать эту страницу">?&lt;/a>)&lt;/li>&lt;/ul>&lt;/div>&lt;br />
&lt;b>Удалено:&lt;/b>&lt;br />
&lt;div class="deletions">&lt;!--notypo-->&lt;fieldset class="table_of_contents">&lt;legend>&lt;strong> Оглавление документа   &lt;/strong>&lt;/legend>&lt;/fieldset>&lt;!--/notypo-->&lt;a name="h85-1">&lt;/a>&lt;h2>Настройка базы данных&lt;/h2>
CakePHP ожиданные что&amp;nbsp;данные о&amp;nbsp;настройке подключения к&amp;nbsp;базе данных будут располагаться в&amp;nbsp;файле &lt;tt>app/config/database.php&lt;/tt>. Файл с&amp;nbsp;образцом настройки располагает по&amp;nbsp;адресу &lt;tt>app/config/database.php.default&lt;/tt>. Файл с&amp;nbsp;готовой конфигурацией должен выглядеть так:&lt;br />
&lt;!--notypo-->&lt;div class="code">&lt;code>&lt;span style="color: #000000">
var&amp;nbsp;$default&amp;nbsp;=&amp;nbsp;array('driver'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;gt;&amp;nbsp;'mysql',&lt;br />&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'persistent'&amp;nbsp;&amp;nbsp;=&amp;gt;&amp;nbsp;false,&lt;br />&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'host'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;gt;&amp;nbsp;'localhost',&lt;br />&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'login'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;gt;&amp;nbsp;'cakephpuser',&lt;br />&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'password'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;gt;&amp;nbsp;'c4k3roxx!',&lt;br />&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'database'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;gt;&amp;nbsp;'my_cakephp_project',&lt;br />&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'prefix'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;gt;&amp;nbsp;'');&lt;/span>
&lt;/code>&lt;/div>&lt;!--/notypo-->&lt;div style="float:center; text-align:center">Пример конфигурации базы данных&lt;/div>&lt;br />
Если в&amp;nbsp;модели не&amp;nbsp;объявлена переменная &lt;tt>$useDbConfig&lt;/tt> с&amp;nbsp;названием используемых параметров подключения, то&amp;nbsp;CakePHP будет использовать настройки определенные в&amp;nbsp;массиве с&amp;nbsp;названием &lt;tt>$default&lt;/tt>. Например, если моему приложению требуется подключиться к&amp;nbsp;еще одной базе данных, помимо основной, то&amp;nbsp;я просто могу создать еще&amp;nbsp;один массив с&amp;nbsp;настройками (например &lt;tt>$legacy&lt;/tt>) аналогичный по&amp;nbsp;структуре массиву по&amp;nbsp;умолчанию и&amp;nbsp;в модели объявить, что&amp;nbsp;хочу работать с&amp;nbsp;другой базой данных так: &lt;tt>var $useDbConfig = 'legacy';&lt;/tt>.&lt;br />
Замените пары ключ/значение в&amp;nbsp;массиве настроек на&amp;nbsp;ваши.&lt;br />
&lt;table class="usertable" border="1">
&lt;tr class="userrow">&lt;td class="usercell">&lt;div style="float:center; text-align:center">&lt;strong>Ключ&lt;/strong>&lt;/div>&lt;/td>&lt;td  class="usercell">&lt;div style="float:center; text-align:center">&lt;strong>Значение&lt;/strong>&lt;/div>&lt;/td>&lt;/tr>
&lt;tr class="userrow">&lt;td class="usercell">driver&lt;/td>&lt;td  class="usercell">Имя драйвера базы данных для&amp;nbsp;этой конфигурации.&lt;br />
Например: mysql, postgres, sqlite, pear-drivername, adodb-drivername, mssql, oracle или&amp;nbsp;odbc.&lt;/td>&lt;/tr>
&lt;tr class="userrow">&lt;td class="usercell">persistent&lt;/td>&lt;td  class="usercell">Будет ли&amp;nbsp;использоваться постоянное соединение с&amp;nbsp;базой данных&lt;/td>&lt;/tr>
&lt;tr class="userrow">&lt;td class="usercell">host&lt;/td>&lt;td  class="usercell">Имя сервера, на&amp;nbsp;котором расположена база данных (или его&amp;nbsp;IP)&lt;/td>&lt;/tr>
&lt;tr class="userrow">&lt;td class="usercell">login&lt;/td>&lt;td  class="usercell">Логин для&amp;nbsp;доступа к&amp;nbsp;базе данных&lt;/td>&lt;/tr>
&lt;tr class="userrow">&lt;td class="usercell">password&lt;/td>&lt;td  class="usercell">Пароль доступа к&amp;nbsp;базе данных&lt;/td>&lt;/tr>
&lt;tr class="userrow">&lt;td class="usercell">database&lt;/td>&lt;td  class="usercell">Имя базы данных для&amp;nbsp;текущего соединения&lt;/td>&lt;/tr>
&lt;tr class="userrow">&lt;td class="usercell">prefix (опционально)&lt;/td>&lt;td  class="usercell">Cake будет счиать что&amp;nbsp;все таблицы относящиеся к&amp;nbsp;нему имеют этот префикс. Если префикс не&amp;nbsp;используется &amp;mdash; оставьте пустую строку.&lt;/td>&lt;/tr>
&lt;tr class="userrow">&lt;td class="usercell">port (опционально)&lt;/td>&lt;td  class="usercell">TCP порт или&amp;nbsp;сокет Unix, который используется для&amp;nbsp;доступа к&amp;nbsp;базе данных.&lt;/td>&lt;/tr>
&lt;tr class="userrow">&lt;td class="usercell">encoding&lt;/td>&lt;td  class="usercell">Указывает в&amp;nbsp;какой кодировке отправлять запросы к&amp;nbsp;базе данных&lt;/td>&lt;/tr>
&lt;tr class="userrow">&lt;td class="usercell">schema&lt;/td>&lt;td  class="usercell">Используется в&amp;nbsp;базе данных PostgreSQL, указывает на&amp;nbsp;то какая схема используется&lt;/td>&lt;/tr>
&lt;/table>
Заметим, что&amp;nbsp;параметр &lt;tt>prefix&lt;/tt> актуален для&amp;nbsp;таблиц, а&amp;nbsp;не Моделей. Например, если вы&amp;nbsp;создаете таблицу для&amp;nbsp;объединения двух ваших моделей Apple и&amp;nbsp;Flavor, то&amp;nbsp;таблица должна называться &lt;tt>prefix_apples_flavors&lt;/tt> (&lt;strong>не&lt;/strong> &lt;tt>prefix_apples_prefix_flavors&lt;/tt>), а&amp;nbsp;в настройках соединения указан ключ &lt;tt>prefix&lt;/tt> со&amp;nbsp;значением &lt;tt>'prefix_'&lt;/tt>.&lt;br />
Сейчас вы&amp;nbsp;можете взглянуть в&amp;nbsp;раздел Соглашения, который недавно прочитали. Правильное название для&amp;nbsp;вашей таблицы (а так&amp;nbsp;же&amp;nbsp;некоторых колонок) облегчит разработку и&amp;nbsp;поможет вам&amp;nbsp;избежать лишних настроек.&lt;a name="h85-2">&lt;/a>&lt;h2>Настройка ядра&lt;/h2>
Настройки конфигурации CakePHP расположены в&amp;nbsp;файле &lt;tt>/app/config/core.php&lt;/tt>. Этот файл содержит переменные и&amp;nbsp;константы класса &lt;tt>Configure&lt;/tt>, которые определяют поведение вашего приложения. Прежде чем&amp;nbsp;погрузиться в&amp;nbsp;детали настроек, вы&amp;nbsp;должны ознакомиться с&amp;nbsp;классом &lt;tt>Configure&lt;/tt>.&lt;a name="h85-3">&lt;/a>&lt;h3>Класс конфигурации&lt;/h3>
Не&amp;nbsp;смотря на&amp;nbsp;то, что&amp;nbsp;большинство настроек в&amp;nbsp;CakePHP уже&amp;nbsp;предустановлены, бывает полезно иметь свой вариант конфигурации. Раньше, для&amp;nbsp;того чтобы настроить Cake, необходимо было указать значения разных переменных в&amp;nbsp;нескольких файлах. Разумеется, при&amp;nbsp;каждом обращении приходилось все&amp;nbsp;эти файлы загружать.&lt;br />
Новый класс &lt;tt>Configure&lt;/tt> может использоваться для&amp;nbsp;хранения любых значений. Будьте острожны &amp;mdash; этот класс может хранить что&amp;nbsp;угодно и&amp;nbsp;давать доступ к&amp;nbsp;этим данным из&amp;nbsp;любой части приложения &amp;mdash; прекрасное искушение к&amp;nbsp;тому чтобы разорвать шаблон MVC. Основная цель этого класса, все&amp;nbsp;же, хранить ту&amp;nbsp;информацию, которая должна быть доступна максимальному количеству файлов вашего приложения.&lt;br />
Этот класс действует как&amp;nbsp;одиночка и&amp;nbsp;его методы могут быть вызваны из&amp;nbsp;любой точки вашего приложения.&lt;br />
&lt;!--notypo-->&lt;div class="code">&lt;code>&lt;span style="color: #000000">
&lt;span style="color: #0000BB">&amp;lt;?php&amp;nbsp;Configure&lt;/span>&lt;span style="color: #007700">::&lt;/span>&lt;span style="color: #0000BB">read&lt;/span>&lt;span style="color: #007700">(&lt;/span>&lt;span style="color: #DD0000">'debug'&lt;/span>&lt;span style="color: #007700">);&amp;nbsp;&lt;/span>&lt;span style="color: #0000BB">?&amp;gt;&lt;/span>
&lt;/span>
&lt;/code>&lt;/div>&lt;!--/notypo-->&lt;a name="h85-4">&lt;/a>&lt;h4>Методы конфигурации&lt;/h4>&lt;a name="h85-5">&lt;/a>&lt;h5>write(string $key, mixed $value)&lt;/h5>
Используйте &lt;tt>write()&lt;/tt> чтобы сохранить данные в&amp;nbsp;конфигурации приложения.&lt;br />
&lt;!--notypo-->&lt;div class="code">&lt;code>&lt;span style="color: #000000">
&lt;span style="color: #0000BB">&amp;lt;?php&lt;br />&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Configure&lt;/span>&lt;span style="color: #007700">::&lt;/span>&lt;span style="color: #0000BB">write&lt;/span>&lt;span style="color: #007700">(&lt;/span>&lt;span style="color: #DD0000">'Company.name'&lt;/span>&lt;span style="color: #007700">,&lt;/span>&lt;span style="color: #DD0000">'Pizza,&amp;nbsp;Inc.'&lt;/span>&lt;span style="color: #007700">);&lt;br />&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span>&lt;span style="color: #0000BB">Configure&lt;/span>&lt;span style="color: #007700">::&lt;/span>&lt;span style="color: #0000BB">write&lt;/span>&lt;span style="color: #007700">(&lt;/span>&lt;span style="color: #DD0000">'Company.slogan'&lt;/span>&lt;span style="color: #007700">,&lt;/span>&lt;span style="color: #DD0000">'Пицца&amp;nbsp;для&amp;nbsp;вашего&amp;nbsp;тела&amp;nbsp;и&amp;nbsp;души'&lt;/span>&lt;span style="color: #007700">);&lt;br />&lt;/span>&lt;span style="color: #0000BB">?&amp;gt;&lt;/span>
&lt;/span>
&lt;/code>&lt;/div>&lt;!--/notypo-->&lt;br />
Примечание: используйте точку в&amp;nbsp;параметре &lt;tt>$key&lt;/tt>. Это&amp;nbsp;поможет вам&amp;nbsp;разграничить конфигурацию на&amp;nbsp;логические группы.&lt;br />
Приведенный выше пример может быть так&amp;nbsp;же&amp;nbsp;записан при&amp;nbsp;помощи одного вызова.&lt;br />
&lt;!--notypo-->&lt;div class="code">&lt;code>&lt;span style="color: #000000">
&lt;span style="color: #0000BB">&amp;lt;?php&lt;br />&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Configure&lt;/span>&lt;span style="color: #007700">::&lt;/span>&lt;span style="color: #0000BB">write&lt;/span>&lt;span style="color: #007700">(&lt;br />&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span>&lt;span style="color: #DD0000">'Company'&lt;/span>&lt;span style="color: #007700">,array(&lt;/span>&lt;span style="color: #DD0000">'name'&lt;/span>&lt;span style="color: #007700">=&amp;gt;&lt;/span>&lt;span style="color: #DD0000">'Pizza,&amp;nbsp;Inc.'&lt;/span>&lt;span style="color: #007700">,&lt;/span>&lt;span style="color: #DD0000">'slogan'&lt;/span>&lt;span style="color: #007700">=&amp;gt;&lt;/span>&lt;span style="color: #DD0000">'Пицца&amp;nbsp;для&amp;nbsp;вашего&amp;nbsp;тела&amp;nbsp;и&amp;nbsp;души'&lt;/span>&lt;span style="color: #007700">)&lt;br />&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;);&lt;br />&lt;/span>&lt;span style="color: #0000BB">?&amp;gt;&lt;/span>
&lt;/span>
&lt;/code>&lt;/div>&lt;!--/notypo-->&lt;br />
Вы&amp;nbsp;можете использовать &lt;tt>Configure::write('debug', $int)&lt;/tt> для&amp;nbsp;того чтобы переключаться между режимами отладки на&amp;nbsp;лету. Особенно полезно это&amp;nbsp;для AMF&amp;nbsp;или SOAP, где&amp;nbsp;отладочная информация может вызывать большие проблемы разбора содержимого.&lt;a name="h85-6">&lt;/a>&lt;h5>read(string $key = 'debug')&lt;/h5>
Используйте метод &lt;tt>read()&lt;/tt> для&amp;nbsp;того чтобы читать конфигурационную информацию. По&amp;nbsp;умолчанию CakePHP возвращает информацию об&amp;nbsp;уровне отладки, если параметр не&amp;nbsp;передан. Используя наши примеры выше для&amp;nbsp;функции &lt;tt>write()&lt;/tt>, мы&amp;nbsp;можем получить наши данные обратно.&lt;br />
&lt;!--notypo-->&lt;div class="code">&lt;code>&lt;span style="color: #000000">
&lt;span style="color: #0000BB">&amp;lt;?php&lt;br />&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Configure&lt;/span>&lt;span style="color: #007700">::&lt;/span>&lt;span style="color: #0000BB">read&lt;/span>&lt;span style="color: #007700">(&lt;/span>&lt;span style="color: #DD0000">'Company.name'&lt;/span>&lt;span style="color: #007700">);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span>&lt;span style="color: #FF8000">//вернет:&amp;nbsp;'Pizza,&amp;nbsp;Inc.'&lt;br />&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span>&lt;span style="color: #0000BB">Configure&lt;/span>&lt;span style="color: #007700">::&lt;/span>&lt;span style="color: #0000BB">read&lt;/span>&lt;span style="color: #007700">(&lt;/span>&lt;span style="color: #DD0000">'Company.slogan'&lt;/span>&lt;span style="color: #007700">);&amp;nbsp;&amp;nbsp;&lt;/span>&lt;span style="color: #FF8000">//вернет:&amp;nbsp;'Пицца&amp;nbsp;для&amp;nbsp;вашего&amp;nbsp;тела&amp;nbsp;и&amp;nbsp;души'&lt;br />&amp;nbsp;&lt;br />&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span>&lt;span style="color: #0000BB">Configure&lt;/span>&lt;span style="color: #007700">::&lt;/span>&lt;span style="color: #0000BB">read&lt;/span>&lt;span style="color: #007700">(&lt;/span>&lt;span style="color: #DD0000">'Company'&lt;/span>&lt;span style="color: #007700">);&lt;br />&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span>&lt;span style="color: #FF8000">//вернет:&lt;br />&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span>&lt;span style="color: #007700">array(&lt;/span>&lt;span style="color: #DD0000">'name'&amp;nbsp;&lt;/span>&lt;span style="color: #007700">=&amp;gt;&amp;nbsp;&lt;/span>&lt;span style="color: #DD0000">'Pizza,&amp;nbsp;Inc.'&lt;/span>&lt;span style="color: #007700">,&amp;nbsp;&lt;/span>&lt;span style="color: #DD0000">'slogan'&amp;nbsp;&lt;/span>&lt;span style="color: #007700">=&amp;gt;&amp;nbsp;&lt;/span>&lt;span style="color: #DD0000">'Пицца&amp;nbsp;для&amp;nbsp;вашего&amp;nbsp;тела&amp;nbsp;и&amp;nbsp;души'&lt;/span>&lt;span style="color: #007700">);&lt;br />&lt;/span>&lt;span style="color: #0000BB">?&amp;gt;&lt;/span>
&lt;/span>
&lt;/code>&lt;/div>&lt;!--/notypo-->&lt;a name="h85-7">&lt;/a>&lt;h5>delete(string $key)&lt;/h5>
Используется для&amp;nbsp;удаления информации из&amp;nbsp;конфигурации.&lt;br />
&lt;!--notypo-->&lt;div class="code">&lt;code>&lt;span style="color: #000000">
&lt;span style="color: #0000BB">&amp;lt;?php&amp;nbsp;Configure&lt;/span>&lt;span style="color: #007700">::&lt;/span>&lt;span style="color: #0000BB">delete&lt;/span>&lt;span style="color: #007700">(&lt;/span>&lt;span style="color: #DD0000">'Company.name'&lt;/span>&lt;span style="color: #007700">);&amp;nbsp;&lt;/span>&lt;span style="color: #0000BB">?&amp;gt;&lt;/span>
&lt;/span>
&lt;/code>&lt;/div>&lt;!--/notypo-->&lt;a name="h85-8">&lt;/a>&lt;h5>load(string $path)&lt;/h5>
Используйте этот метод для&amp;nbsp;загрузки конфигурации из&amp;nbsp;какого-либо внешнего файла.&lt;br />
&lt;!--notypo-->&lt;div class="code">&lt;code>&lt;span style="color: #000000">
/app/config/messages.php&lt;br />&lt;span style="color: #0000BB">&amp;lt;?php&lt;br />&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$config&lt;/span>&lt;span style="color: #007700">[&lt;/span>&lt;span style="color: #DD0000">'Company'&lt;/span>&lt;span style="color: #007700">][&lt;/span>&lt;span style="color: #DD0000">'name'&lt;/span>&lt;span style="color: #007700">]&amp;nbsp;=&amp;nbsp;&lt;/span>&lt;span style="color: #DD0000">'Pizza,&amp;nbsp;Inc.'&lt;/span>&lt;span style="color: #007700">;&lt;br />&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span>&lt;span style="color: #0000BB">$config&lt;/span>&lt;span style="color: #007700">[&lt;/span>&lt;span style="color: #DD0000">'Company'&lt;/span>&lt;span style="color: #007700">][&lt;/span>&lt;span style="color: #DD0000">'slogan'&lt;/span>&lt;span style="color: #007700">]&amp;nbsp;=&amp;nbsp;&lt;/span>&lt;span style="color: #DD0000">'Pizza&amp;nbsp;for&amp;nbsp;your&amp;nbsp;body&amp;nbsp;and&amp;nbsp;soul'&lt;/span>&lt;span style="color: #007700">;&lt;br />&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span>&lt;span style="color: #0000BB">$config&lt;/span>&lt;span style="color: #007700">[&lt;/span>&lt;span style="color: #DD0000">'Company'&lt;/span>&lt;span style="color: #007700">][&lt;/span>&lt;span style="color: #DD0000">'phone'&lt;/span>&lt;span style="color: #007700">]&amp;nbsp;=&amp;nbsp;&lt;/span>&lt;span style="color: #DD0000">'555-55-55'&lt;/span>&lt;span style="color: #007700">;&lt;br />&lt;/span>&lt;span style="color: #0000BB">?&amp;gt;&lt;/span>
&lt;/span>
&lt;/code>&lt;/div>&lt;!--/notypo-->&lt;br />
&lt;!--notypo-->&lt;div class="code">&lt;code>&lt;span style="color: #000000">
/app/config/core.php&lt;br />&lt;span style="color: #0000BB">&amp;lt;?php&lt;br />&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Configure&lt;/span>&lt;span style="color: #007700">::&lt;/span>&lt;span style="color: #0000BB">load&lt;/span>&lt;span style="color: #007700">(&lt;/span>&lt;span style="color: #DD0000">'messages'&lt;/span>&lt;span style="color: #007700">);&lt;br />&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span>&lt;span style="color: #0000BB">Configure&lt;/span>&lt;span style="color: #007700">::&lt;/span>&lt;span style="color: #0000BB">read&lt;/span>&lt;span style="color: #007700">(&lt;/span>&lt;span style="color: #DD0000">'Company.name'&lt;/span>&lt;span style="color: #007700">);&lt;br />&lt;/span>&lt;span style="color: #0000BB">?&amp;gt;&lt;/span>
&lt;/span>
&lt;/code>&lt;/div>&lt;!--/notypo-->&lt;br />
Примечание: все&amp;nbsp;переменные для&amp;nbsp;загрузки в&amp;nbsp;конфигурацию должны представлять из&amp;nbsp;себя массив ключ-значение с&amp;nbsp;названием &lt;tt>$config&lt;/tt>. Все&amp;nbsp;прочие переменные будут проигнорированы при&amp;nbsp;использовании функции &lt;tt>load()&lt;/tt>.&lt;a name="h85-9">&lt;/a>&lt;h5>version()&lt;/h5>
Возвращает версию используемого ядра CakePHP.&lt;a name="h85-10">&lt;/a>&lt;h4>Переменные конфигурации&lt;/h4>
Набор переменных конфигурации хранится в&amp;nbsp;файле &lt;tt>/app/config/core.php&lt;/tt>. Ниже приводится описание переменных конфигурации ядра, а&amp;nbsp;так же&amp;nbsp;действия приложения, к&amp;nbsp;которым они&amp;nbsp;приводят.&lt;br />
&lt;table class="usertable" border="1">
&lt;tr class="userrow">&lt;td class="usercell">&lt;div style="float:center; text-align:center">&lt;strong>Переменная конфигурации&lt;/strong>&lt;/div>&lt;/td>&lt;td  class="usercell">&lt;div style="float:center; text-align:center">&lt;strong>Описание&lt;/strong>&lt;/div>&lt;/td>&lt;/tr>
&lt;tr class="userrow">&lt;td class="usercell">debug&lt;/td>&lt;td  class="usercell">Изменение режима вывода отладки.&lt;br />
0 = Режим готовой продукции. Вывода отладки нет.&lt;br />
1 = Вывод ошибок и&amp;nbsp;предупреждений.&lt;br />
2 = Вывод ошибок, предупреждений и&amp;nbsp;SQL запросов.&lt;br />
3 = Вывод ошибок, предупреждений, SQL&amp;nbsp;запросов и&amp;nbsp;дампа всех переменных, доступных в&amp;nbsp;контроллере.&lt;/td>&lt;/tr>
&lt;tr class="userrow">&lt;td class="usercell">App.baseUrl&lt;/td>&lt;td  class="usercell">Раскомментируйте определение этой переменной, если не&amp;nbsp;планируете использовать Apache и&amp;nbsp;mod_rewrite для&amp;nbsp;вашего приложения на&amp;nbsp;CakePHP. Не&amp;nbsp;забудьте так&amp;nbsp;же&amp;nbsp;удалить .htaccess файлы.&lt;/td>&lt;/tr>
&lt;tr class="userrow">&lt;td class="usercell">Routing.admin&lt;/td>&lt;td  class="usercell">Раскомментируйте эту&amp;nbsp;директиву, если хотите использовать роутинг для&amp;nbsp;администратора. В&amp;nbsp;значении должно быть название первой части адреса администратора. Подробнее эта&amp;nbsp;опция будет описана позже.&lt;/td>&lt;/tr>
&lt;tr class="userrow">&lt;td class="usercell">Cache.disable&lt;/td>&lt;td  class="usercell">Когда эта&amp;nbsp;переменная устанавливается в&amp;nbsp;&lt;tt>true&lt;/tt> &amp;mdash; на&amp;nbsp;всем сайте отключается кеширование.&lt;/td>&lt;/tr>
&lt;tr class="userrow">&lt;td class="usercell">Cache.check&lt;/td>&lt;td  class="usercell">Если установить в&amp;nbsp;&lt;tt>true&lt;/tt>, то&amp;nbsp;будет возможно работать с&amp;nbsp;кешем. Активация в&amp;nbsp;контроллерах по&amp;nbsp;прежнему необходима, но&amp;nbsp;эта переменная дает возможность в&amp;nbsp;принципе обнаружить эти&amp;nbsp;настройки.&lt;/td>&lt;/tr>
&lt;tr class="userrow">&lt;td class="usercell">Session.save&lt;/td>&lt;td  class="usercell">Сообщает CakePHP каким образом должны храниться сессии.&lt;br />
php&amp;nbsp;= Использовать стандартный механизм php.&lt;br />
cake = Сохранять сессии в&amp;nbsp;&lt;tt>/app/tmp&lt;/tt>.&lt;br />
database = Сохранять сессии в&amp;nbsp;таблице базы данных. Перед использованием такого способа вам&amp;nbsp;надо выполнить в&amp;nbsp;базе данных запрос, лежащий изначально в&amp;nbsp;файле &lt;tt>/app/config/sql/sessions.sql&lt;/tt>.&lt;/td>&lt;/tr>
&lt;tr class="userrow">&lt;td class="usercell">Session.table&lt;/td>&lt;td  class="usercell">Название таблицы (префикс не&amp;nbsp;используется) для&amp;nbsp;хранения сессий.&lt;/td>&lt;/tr>
&lt;tr class="userrow">&lt;td class="usercell">Session.database&lt;/td>&lt;td  class="usercell">Имя базы данных с&amp;nbsp;таблицей для&amp;nbsp;хранения сессий.&lt;/td>&lt;/tr>
&lt;tr class="userrow">&lt;td class="usercell">Session.cookie&lt;/td>&lt;td  class="usercell">Название Cookie в&amp;nbsp;которой будет храниться ключ сессии.&lt;/td>&lt;/tr>
&lt;tr class="userrow">&lt;td class="usercell">Session.timeout&lt;/td>&lt;td  class="usercell">Число в&amp;nbsp;секундах, на&amp;nbsp;основе которого будет вычислено время жизни Cookie с&amp;nbsp;ключом сессии. Фактическое время зависит от&amp;nbsp;Security.level&lt;/td>&lt;/tr>
&lt;tr class="userrow">&lt;td class="usercell">Session.start&lt;/td>&lt;td  class="usercell">Если установить в&amp;nbsp;&lt;tt>true&lt;/tt>, то&amp;nbsp;сессия будет создаваться при&amp;nbsp;входе каждого нового пользователя.&lt;/td>&lt;/tr>
&lt;tr class="userrow">&lt;td class="usercell">Session.checkAgent&lt;/td>&lt;td  class="usercell">При &lt;tt>false&lt;/tt> CakePHP не&amp;nbsp;будет проверять неизменность браузера пользователя.&lt;/td>&lt;/tr>
&lt;tr class="userrow">&lt;td class="usercell">Security.level&lt;/td>&lt;td  class="usercell">Уровень безопасности CakePHP. Время действия сессии, объявленное в&amp;nbsp;&lt;tt>Session.timeout&lt;/tt> умножается на&amp;nbsp;это значение.&lt;br />
Возможные значения:&lt;br />
'high' = x&amp;nbsp;10&lt;br />
'medium' = x&amp;nbsp;100&lt;br />
'low' = x&amp;nbsp;300&lt;/td>&lt;/tr>
&lt;tr class="userrow">&lt;td class="usercell">Security.salt&lt;/td>&lt;td  class="usercell">Произвольный набор символов. Используется для&amp;nbsp;создания хешей.&lt;/td>&lt;/tr>
&lt;tr class="userrow">&lt;td class="usercell">Acl.classname, Acl.database&lt;/td>&lt;td  class="usercell">Константы используются в&amp;nbsp;функциях Списков Контроля Доступа (ACL). Смотрите главу с&amp;nbsp;таким названием для&amp;nbsp;выяснения подробностей.&lt;/td>&lt;/tr>
&lt;/table>
Примечание: настройки конфигурации кеша находятся в&amp;nbsp;файле &lt;tt>core.php&lt;/tt>. Мы&amp;nbsp;поговорим об&amp;nbsp;этом позже и&amp;nbsp;опишем эти&amp;nbsp;настройки.&lt;br />
Класс конфигурации используется для&amp;nbsp;того чтобы считывать и&amp;nbsp;записывать переменные на&amp;nbsp;лету. Это&amp;nbsp;может быть особенно удобно, если вы, например, хотите выводить отладочную информацию только для&amp;nbsp;некоторых частей вашего приложения.&lt;a name="h85-11">&lt;/a>&lt;h4>Константы конфигурации&lt;/h4>
Хотя и&amp;nbsp;большинство опций представляют из&amp;nbsp;себя свойства класса конфигурации, все&amp;nbsp;же&amp;nbsp;есть несколько констант, которые Cake использует в&amp;nbsp;своей работе.&lt;br />
&lt;table class="usertable" border="1">
&lt;tr class="userrow">&lt;td class="usercell">&lt;div style="float:center; text-align:center">&lt;strong>Константа&lt;/strong>&lt;/div>&lt;/td>&lt;td  class="usercell">&lt;div style="float:center; text-align:center">&lt;strong>Описание&lt;/strong>&lt;/div>&lt;/td>&lt;/tr>
&lt;tr class="userrow">&lt;td class="usercell">COMPRESS_CSS&lt;/td>&lt;td  class="usercell">Если установить в&amp;nbsp;&lt;tt>true&lt;/tt>, то&amp;nbsp;CSS файлы будут сжиматься при&amp;nbsp;отдаче. Для&amp;nbsp;этого необходимо чтобы директория &lt;tt>/var/cache&lt;/tt> была доступна для&amp;nbsp;записи на&amp;nbsp;сервере. Для&amp;nbsp;использования опции прописывайте путь к&amp;nbsp;вашим CSS&amp;nbsp;файлам как&amp;nbsp;&lt;tt>/ccss&lt;/tt> (вместо &lt;tt>/css&lt;/tt>) или&amp;nbsp;используйте &lt;tt>Controller::cssTag()&lt;/tt>.&lt;/td>&lt;/tr>
&lt;tr class="userrow">&lt;td class="usercell">LOG_ERROR&lt;/td>&lt;td  class="usercell">Константа ошибки. Используется для&amp;nbsp;разделения типа записи в&amp;nbsp;лог: сообщения об&amp;nbsp;ошибках и&amp;nbsp;отладочные сообщения. Сейчас PHP&amp;nbsp;поддерживает &lt;tt>LOG_DEBUG&lt;/tt>.&lt;/td>&lt;/tr>
&lt;/table>&lt;a name="h85-12">&lt;/a>&lt;h2>Настройка роутов (маршрутизаций)&lt;/h2>
Роуты &amp;mdash; это&amp;nbsp;функционал, который сопоставляет набранный URL-адрес с&amp;nbsp;действием контроллера. Роуты были добавлены в&amp;nbsp;CakePHP, чтобы сделать адреса более настраиваемыми и&amp;nbsp;гибкими. Если вы&amp;nbsp;используете Apache и&amp;nbsp;mod_rewrite, то&amp;nbsp;роуты можно и&amp;nbsp;не использовать, но&amp;nbsp;все же&amp;nbsp;их использование позволит куда большую гибкость, чем&amp;nbsp;при стандартных средствах.&lt;br />
В&amp;nbsp;CakePHP 1.2 функциональность роутов была сильно расширена.&lt;br />
Прежде чем&amp;nbsp;создавать свои роуты, вы&amp;nbsp;должны узнать какие в&amp;nbsp;CakePHP есть роуты по&amp;nbsp;умолчанию. Изначально CakePHP будет понимать &amp;laquo;красивые&amp;raquo; адреса в&amp;nbsp;любом приложении. Для&amp;nbsp;того чтобы вызвать какое-то действие &amp;mdash; достаточно просто указать в&amp;nbsp;адресе его&amp;nbsp;имя. Именно таким же&amp;nbsp;образом можно передать параметры в&amp;nbsp;это действие.&lt;br />
&lt;!--notypo-->&lt;div class="code">&lt;code>&lt;span style="color: #000000">
http://example.com/controller/action/param1/param2/param3&lt;/span>
&lt;/code>&lt;/div>&lt;!--/notypo-->&lt;div style="float:center; text-align:center">URL-шаблон роутов по&amp;nbsp;умолчанию&lt;/div>&lt;br />
URL&amp;nbsp;&lt;tt>/posts/view&lt;/tt> будет переадресован к&amp;nbsp;методу &lt;tt>view()&lt;/tt> контроллера &lt;tt>PostsController&lt;/tt>, URL&amp;nbsp;&lt;tt>/products/viewClearance&lt;/tt> &amp;mdash; к&amp;nbsp;методу &lt;tt>view_clearance()&lt;/tt> контроллера &lt;tt>ProductsController&lt;/tt>. Если в&amp;nbsp;URL действие не&amp;nbsp;объявлено, то&amp;nbsp;переадресация идет к&amp;nbsp;методу &lt;tt>index()&lt;/tt>.&lt;br />
Стандартная маршрутизация также позволяет в&amp;nbsp;URL передавать параметры в&amp;nbsp;действия. Например URL&amp;nbsp;&lt;tt>/posts/view/25&lt;/tt> будет означать вызов функции &lt;tt>view(25)&lt;/tt> класса &lt;tt>PostsController&lt;/tt>.&lt;br />
В&amp;nbsp;CakePHP 1.2 появилась возможность называть параметры. Можно дать параметру имя&amp;nbsp;и&amp;nbsp;отправить его&amp;nbsp;значение при&amp;nbsp;помощи URL. Запрос на&amp;nbsp;адрес &lt;tt>/posts/view/title:first+post/category:general&lt;/tt> приведет к&amp;nbsp;обращению к&amp;nbsp;действию &lt;tt>view()&lt;/tt> контроллера &lt;tt>PostsController&lt;/tt>. Внутри действия вы&amp;nbsp;можете обратиться к&amp;nbsp;переданным параметрам, как&amp;nbsp;к&amp;nbsp;&lt;tt>$this-&amp;gt;passedArgs['title']&lt;/tt> и&amp;nbsp;&lt;tt>$this-&amp;gt;passedArgs['category']&lt;/tt>.&lt;br />
Некоторое резюме роутов по&amp;nbsp;умолчанию, которые могут быть вам&amp;nbsp;полезны:&lt;br />
&lt;!--notypo-->&lt;div class="code">&lt;code>&lt;span style="color: #000000">
URL:&amp;nbsp;/monkeys/jump&lt;br />Переадресация:&amp;nbsp;MonkeysController-&amp;gt;jump();&lt;br />&amp;nbsp;&lt;br />URL:&amp;nbsp;/products&lt;br />Переадресация:&amp;nbsp;ProductsController-&amp;gt;index();&lt;br />&amp;nbsp;&lt;br />URL:&amp;nbsp;/tasks/view/45&lt;br />Переадресация:&amp;nbsp;TasksController-&amp;gt;view(45);&lt;br />&amp;nbsp;&lt;br />URL:&amp;nbsp;/donations/view/recent/2001&lt;br />Переадресация:&amp;nbsp;DonationsController-&amp;gt;view('recent',&amp;nbsp;'2001');&lt;br />&amp;nbsp;&lt;br />URL:&amp;nbsp;/contents/view/chapter:models/section:associations&lt;br />Переадресация:&amp;nbsp;ContentsController-&amp;gt;view();&lt;br />$this-&amp;gt;passedArgs['chapter']&amp;nbsp;=&amp;nbsp;'models';&lt;br />$this-&amp;gt;passedArgs['section']&amp;nbsp;=&amp;nbsp;'associations';&lt;/span>
&lt;/code>&lt;/div>&lt;!--/notypo-->&lt;div style="float:center; text-align:center">Примеры использования стандартных роутов&lt;/div>&lt;br />
Определение своих роутов позволит вам&amp;nbsp;определить как&amp;nbsp;ваше приложение должно реагировать на&amp;nbsp;тот или&amp;nbsp;иной URL. Определите свои собственные роуты в&amp;nbsp;файле &lt;tt>/app/config/routes.php&lt;/tt>, используя метод &lt;tt>Router::connect()&lt;/tt>.&lt;br />
Метод &lt;tt>connect()&lt;/tt> принимает до&amp;nbsp;трех параметров: URL, при&amp;nbsp;котором срабатывает роут, значение по&amp;nbsp;умолчанию для&amp;nbsp;любых элементов запроса и&amp;nbsp;регулярное выражение, призванное помочь роуту найти необходимые части URL.&lt;br />
&lt;!--notypo-->&lt;div class="code">&lt;code>&lt;span style="color: #000000">
Router::connect(&lt;br />&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'URL',&lt;br />&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;array('paramName'&amp;nbsp;=&amp;gt;&amp;nbsp;'defaultValue'),&lt;br />&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;array('paramName'&amp;nbsp;=&amp;gt;&amp;nbsp;'matchingRegex')&lt;br />)&lt;/span>
&lt;/code>&lt;/div>&lt;!--/notypo-->&lt;div style="float:center; text-align:center">Шаблон определения роутов&lt;/div>&lt;br />
Первый параметр сообщает маршрутизатору какие URL&amp;nbsp;вы&amp;nbsp;хотите контролировать. URL&amp;nbsp;должен представлять из&amp;nbsp;себя обычную строку адреса, разделенную слешами, так&amp;nbsp;же&amp;nbsp;может содержать место подстановки (обозначено звездочкой (*)) или&amp;nbsp;произвольный элемент роута (часть URL&amp;nbsp;с&amp;nbsp;двоеточием вначале). Использование символа подстановки сообщает роутам какие части адреса вы&amp;nbsp;хотите разбирать, а&amp;nbsp;использование произвольных элементов (тех, что&amp;nbsp;с&amp;nbsp;двоеточием) показывает какие части вы&amp;nbsp;хотите передавать в&amp;nbsp;действия контроллера.&lt;br />
После того, как&amp;nbsp;вы&amp;nbsp;указали адрес, вы&amp;nbsp;используете два&amp;nbsp;последних параметра &lt;tt>connect()&lt;/tt>, чтобы указать элементы, которые необходимо искать в&amp;nbsp;адресе, если он&amp;nbsp;совпал. Второй параметр представляет из&amp;nbsp;себя ассоциативный массив. Ключами в&amp;nbsp;этом массиве являются элементы определенные вами в&amp;nbsp;адресе (те, что&amp;nbsp;двоеточием вначале) или&amp;nbsp;стандартные элементы роутов: &lt;tt>:controller&lt;/tt>, &lt;tt>:action&lt;/tt>, and&amp;nbsp;&lt;tt>:plugin&lt;/tt>. Значениями будут значения определенные вами по&amp;nbsp;умолчанию для&amp;nbsp;этих элементов. Давайте посмотрим на&amp;nbsp;некоторые примеры, чтобы все&amp;nbsp;стало ясно, перед тем&amp;nbsp;как начнем использовать третий параметр &lt;tt>connect()&lt;/tt>.&lt;br />
&lt;!--notypo-->&lt;div class="code">&lt;code>&lt;span style="color: #000000">
Router::connect(&lt;br />&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'/pages/*',&lt;br />&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;array('controller'&amp;nbsp;=&amp;gt;&amp;nbsp;'pages',&amp;nbsp;'action'&amp;nbsp;=&amp;gt;&amp;nbsp;'display')&lt;br />);&lt;/span>
&lt;/code>&lt;/div>&lt;!--/notypo-->&lt;br />
Этот роут уже&amp;nbsp;написан в&amp;nbsp;файле &lt;tt>routes.php&lt;/tt> дистрибутива CakePHP (на 40 строке). Он&amp;nbsp;применяется к&amp;nbsp;любому URL, который начинается на&amp;nbsp;&lt;tt>/pages/&lt;/tt>. Роут переадресует CakePHP к&amp;nbsp;действию &lt;tt>display()&lt;/tt> контроллера &lt;tt>PagesController()&lt;/tt>. Напимер, запрос &lt;tt>/pages/products&lt;/tt> будет отправлен к&amp;nbsp;&lt;tt>PagesController-&amp;gt;display('products')&lt;/tt>.&lt;br />
&lt;!--notypo-->&lt;div class="code">&lt;code>&lt;span style="color: #000000">
Router::connect(&lt;br />&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'/government',&lt;br />&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;array('controller'&amp;nbsp;=&amp;gt;&amp;nbsp;'products',&amp;nbsp;'action'&amp;nbsp;=&amp;gt;&amp;nbsp;'display',&amp;nbsp;5)&lt;br />);&lt;/span>
&lt;/code>&lt;/div>&lt;!--/notypo-->&lt;br />
Это&amp;nbsp;второй пример, который показывает как&amp;nbsp;вы&amp;nbsp;можете использовать второй параметр при&amp;nbsp;определении роута для&amp;nbsp;задания значений по&amp;nbsp;умолчанию. Если вы&amp;nbsp;создаете сайт, который предлагает продукты для&amp;nbsp;разных категорий покупателей, то&amp;nbsp;можете создать удобный роут. Вместо длинной и&amp;nbsp;непонятной ссылки &lt;tt>/products/display/5&lt;/tt> пользователи будут использовать &lt;tt>/government&lt;/tt>.&lt;br />
Для&amp;nbsp;дополнительной гибкости вы&amp;nbsp;можете определить собственные элементы роута. Таким образом можно указать какие элементы в&amp;nbsp;URL могут быть неверными. Когда запрос выполняется, то&amp;nbsp;значения для&amp;nbsp;элементов пользовательских роутов расположены в&amp;nbsp;переменной контроллера &lt;tt>$this-&amp;gt;params&lt;/tt>.&lt;br />
&lt;span class="mark">Ту би&amp;nbsp;континед&lt;/span>&lt;/div>&lt;/div>
</description>
</item>
<item>
<title>2007-12-22 22:03:14</title>
<link>http://cake-php.ru/wiki/Manual/Developing/Configuration/show?time=2007-12-22+22%3A03%3A14</link>
<description>&lt;div class="pageBefore">&lt;img src="http://cake-php.ru/wiki/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Сравнение версий &lt;a  href="http://cake-php.ru/wiki/Manual/Developing/Configuration" class="">/Manual&amp;nbsp;/&amp;nbsp;Developing&amp;nbsp;/&amp;nbsp;Configuration&lt;/a> за &lt;a href="http://cake-php.ru/wiki/Manual/Developing/Configuration?time=2007-12-22+22%3A03%3A14">2007-12-22 22:03:14&lt;/a> и &lt;a href="http://cake-php.ru/wiki/Manual/Developing/Configuration?time=2008-01-17+14%3A15%3A00">2008-01-17 14:15:00&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Добавлено:&lt;/b>&lt;br />
&lt;div class="additions">||schema|Используется в&amp;nbsp;базе данных ~PostgreSQL, указывает на&amp;nbsp;то какая схема используется||&lt;br />
URL&amp;nbsp;&lt;tt>/posts/view&lt;/tt> будет переадресован к&amp;nbsp;методу &lt;tt>view()&lt;/tt> контроллера &lt;tt>PostsController&lt;/tt>, URL&amp;nbsp;&lt;tt>/products/viewClearance&lt;/tt> &amp;mdash; к&amp;nbsp;методу &lt;tt>view_clearance()&lt;/tt> контроллера &lt;tt>ProductsController&lt;/tt>. Если в&amp;nbsp;URL действие не&amp;nbsp;объявлено, то&amp;nbsp;переадресация идет к&amp;nbsp;методу &lt;tt>index()&lt;/tt>.&lt;/div>&lt;br />
&lt;b>Удалено:&lt;/b>&lt;br />
&lt;div class="deletions">||schema|Используется в&amp;nbsp;базе данных ~PostgreSQL, указыает на&amp;nbsp;то какая схема используется||&lt;br />
URL&amp;nbsp;&lt;tt>/posts/view&lt;/tt> будет переадресован к&amp;nbsp;методу &lt;tt>view()&lt;/tt> контроллера &lt;tt>PostsController&lt;/tt>, URL&amp;nbsp;&lt;tt>/products/viewClearance&lt;/tt> &amp;mdash; к&amp;nbsp;методу &lt;tt>view_clearance()&lt;/tt> контроллера &lt;tt>ProductsController&lt;/tt>. Если в&amp;nbsp;URL дейтвие не&amp;nbsp;объявлено, то&amp;nbsp;переадресация идет к&amp;nbsp;методу &lt;tt>index()&lt;/tt>.&lt;/div>&lt;/div>
</description>
</item>
<item>
<title>2007-12-15 14:07:49</title>
<link>http://cake-php.ru/wiki/Manual/Developing/Configuration/show?time=2007-12-15+14%3A07%3A49</link>
<description>&lt;div class="pageBefore">&lt;img src="http://cake-php.ru/wiki/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Сравнение версий &lt;a  href="http://cake-php.ru/wiki/Manual/Developing/Configuration" class="">/Manual&amp;nbsp;/&amp;nbsp;Developing&amp;nbsp;/&amp;nbsp;Configuration&lt;/a> за &lt;a href="http://cake-php.ru/wiki/Manual/Developing/Configuration?time=2007-12-15+14%3A07%3A49">2007-12-15 14:07:49&lt;/a> и &lt;a href="http://cake-php.ru/wiki/Manual/Developing/Configuration?time=2007-12-22+22%3A03%3A14">2007-12-22 22:03:14&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Добавлено:&lt;/b>&lt;br />
&lt;div class="additions">Для&amp;nbsp;дополнительной гибкости вы&amp;nbsp;можете определить собственные элементы роута. Таким образом можно указать какие элементы в&amp;nbsp;URL могут быть неверными. Когда запрос выполняется, то&amp;nbsp;значения для&amp;nbsp;элементов пользовательских роутов расположены в&amp;nbsp;переменной контроллера &lt;tt>$this-&amp;gt;params&lt;/tt>.&lt;/div>&lt;br />
&lt;b>Удалено:&lt;/b>&lt;br />
&lt;div class="deletions">Для&amp;nbsp;дополнительной гибкости вы&amp;nbsp;можете определить собственные элементы роута.&lt;/div>&lt;/div>
</description>
</item>
<item>
<title>2007-12-15 13:32:45</title>
<link>http://cake-php.ru/wiki/Manual/Developing/Configuration/show?time=2007-12-15+13%3A32%3A45</link>
<description>&lt;div class="pageBefore">&lt;img src="http://cake-php.ru/wiki/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Сравнение версий &lt;a  href="http://cake-php.ru/wiki/Manual/Developing/Configuration" class="">/Manual&amp;nbsp;/&amp;nbsp;Developing&amp;nbsp;/&amp;nbsp;Configuration&lt;/a> за &lt;a href="http://cake-php.ru/wiki/Manual/Developing/Configuration?time=2007-12-15+13%3A32%3A45">2007-12-15 13:32:45&lt;/a> и &lt;a href="http://cake-php.ru/wiki/Manual/Developing/Configuration?time=2007-12-15+14%3A07%3A49">2007-12-15 14:07:49&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Добавлено:&lt;/b>&lt;br />
&lt;div class="additions">&lt;!--notypo-->&lt;div class="code">&lt;code>&lt;span style="color: #000000">
http://example.com/controller/action/param1/param2/param3&lt;/span>
&lt;/code>&lt;/div>&lt;!--/notypo-->&lt;div style="float:center; text-align:center">URL-шаблон роутов по&amp;nbsp;умолчанию&lt;/div>&lt;br />
URL&amp;nbsp;&lt;tt>/posts/view&lt;/tt> будет переадресован к&amp;nbsp;методу &lt;tt>view()&lt;/tt> контроллера &lt;tt>PostsController&lt;/tt>, URL&amp;nbsp;&lt;tt>/products/viewClearance&lt;/tt> &amp;mdash; к&amp;nbsp;методу &lt;tt>view_clearance()&lt;/tt> контроллера &lt;tt>ProductsController&lt;/tt>. Если в&amp;nbsp;URL дейтвие не&amp;nbsp;объявлено, то&amp;nbsp;переадресация идет к&amp;nbsp;методу &lt;tt>index()&lt;/tt>.&lt;br />
Первый параметр сообщает маршрутизатору какие URL&amp;nbsp;вы&amp;nbsp;хотите контролировать. URL&amp;nbsp;должен представлять из&amp;nbsp;себя обычную строку адреса, разделенную слешами, так&amp;nbsp;же&amp;nbsp;может содержать место подстановки (обозначено звездочкой (*)) или&amp;nbsp;произвольный элемент роута (часть URL&amp;nbsp;с&amp;nbsp;двоеточием вначале). Использование символа подстановки сообщает роутам какие части адреса вы&amp;nbsp;хотите разбирать, а&amp;nbsp;использование произвольных элементов (тех, что&amp;nbsp;с&amp;nbsp;двоеточием) показывает какие части вы&amp;nbsp;хотите передавать в&amp;nbsp;действия контроллера.&lt;br />
После того, как&amp;nbsp;вы&amp;nbsp;указали адрес, вы&amp;nbsp;используете два&amp;nbsp;последних параметра &lt;tt>connect()&lt;/tt>, чтобы указать элементы, которые необходимо искать в&amp;nbsp;адресе, если он&amp;nbsp;совпал. Второй параметр представляет из&amp;nbsp;себя ассоциативный массив. Ключами в&amp;nbsp;этом массиве являются элементы определенные вами в&amp;nbsp;адресе (те, что&amp;nbsp;двоеточием вначале) или&amp;nbsp;стандартные элементы роутов: &lt;tt>:controller&lt;/tt>, &lt;tt>:action&lt;/tt>, and&amp;nbsp;&lt;tt>:plugin&lt;/tt>. Значениями будут значения определенные вами по&amp;nbsp;умолчанию для&amp;nbsp;этих элементов. Давайте посмотрим на&amp;nbsp;некоторые примеры, чтобы все&amp;nbsp;стало ясно, перед тем&amp;nbsp;как начнем использовать третий параметр &lt;tt>connect()&lt;/tt>.&lt;br />
&lt;div class="indent">'/pages/*',&lt;br />
array('controller' =&amp;gt; 'pages', 'action' =&amp;gt; 'display')&lt;/div>
);&lt;br />
Этот роут уже&amp;nbsp;написан в&amp;nbsp;файле &lt;tt>routes.php&lt;/tt> дистрибутива CakePHP (на 40 строке). Он&amp;nbsp;применяется к&amp;nbsp;любому URL, который начинается на&amp;nbsp;&lt;tt>/pages/&lt;/tt>. Роут переадресует CakePHP к&amp;nbsp;действию &lt;tt>display()&lt;/tt> контроллера &lt;tt>PagesController()&lt;/tt>. Напимер, запрос &lt;tt>/pages/products&lt;/tt> будет отправлен к&amp;nbsp;&lt;tt>PagesController-&amp;gt;display('products')&lt;/tt>.&lt;br />
&lt;div class="indent">&lt;div class="indent">'/government',&lt;br />
array('controller' =&amp;gt; 'products', 'action' =&amp;gt; 'display', 5)&lt;/div>&lt;/div>
);&lt;br />
Это&amp;nbsp;второй пример, который показывает как&amp;nbsp;вы&amp;nbsp;можете использовать второй параметр при&amp;nbsp;определении роута для&amp;nbsp;задания значений по&amp;nbsp;умолчанию. Если вы&amp;nbsp;создаете сайт, который предлагает продукты для&amp;nbsp;разных категорий покупателей, то&amp;nbsp;можете создать удобный роут. Вместо длинной и&amp;nbsp;непонятной ссылки &lt;tt>/products/display/5&lt;/tt> пользователи будут использовать &lt;tt>/government&lt;/tt>.&lt;br />
Для&amp;nbsp;дополнительной гибкости вы&amp;nbsp;можете определить собственные элементы роута.&lt;/div>&lt;br />
&lt;b>Удалено:&lt;/b>&lt;br />
&lt;div class="deletions">&lt;!--notypo-->&lt;textarea class="code" rows="2" readonly="readonly">http://example.com/controller/action/param1/param2/param3&lt;/textarea>&lt;!--/notypo-->&lt;div style="float:center; text-align:center">URL-шаблон роутов по&amp;nbsp;умолчанию&lt;/div>&lt;br />
URL&amp;nbsp;&lt;tt>/posts/view&lt;/tt> будет переадресован к&amp;nbsp;методу &lt;tt>view()&lt;/tt> контроллера &lt;tt>&lt;span class="missingpage">Posts&amp;nbsp;Controller&lt;/span>&lt;a href="http://cake-php.ru/wiki/PostsController/edit?add=1" title="Создать эту страницу">?&lt;/a>&lt;/tt>, URL&amp;nbsp;&lt;tt>/products/viewClearance&lt;/tt> &amp;mdash; к&amp;nbsp;методу &lt;tt>view_clearance()&lt;/tt> контроллера &lt;tt>ProductsController&lt;/tt>. Если в&amp;nbsp;URL дейтвие не&amp;nbsp;объявлено, то&amp;nbsp;переадресация идет к&amp;nbsp;методу &lt;tt>index()&lt;/tt>.&lt;/div>&lt;/div>
</description>
</item>
<item>
<title>2007-12-15 01:59:41</title>
<link>http://cake-php.ru/wiki/Manual/Developing/Configuration/show?time=2007-12-15+01%3A59%3A41</link>
<description>&lt;div class="pageBefore">&lt;img src="http://cake-php.ru/wiki/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Сравнение версий &lt;a  href="http://cake-php.ru/wiki/Manual/Developing/Configuration" class="">/Manual&amp;nbsp;/&amp;nbsp;Developing&amp;nbsp;/&amp;nbsp;Configuration&lt;/a> за &lt;a href="http://cake-php.ru/wiki/Manual/Developing/Configuration?time=2007-12-15+01%3A59%3A41">2007-12-15 01:59:41&lt;/a> и &lt;a href="http://cake-php.ru/wiki/Manual/Developing/Configuration?time=2007-12-15+13%3A32%3A45">2007-12-15 13:32:45&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Добавлено:&lt;/b>&lt;br />
&lt;div class="additions">&lt;a name="h85-1">&lt;/a>&lt;h2>Настройка роутов (маршрутизаций)&lt;/h2>
Роуты &amp;mdash; это&amp;nbsp;функционал, который сопоставляет набранный URL-адрес с&amp;nbsp;действием контроллера. Роуты были добавлены в&amp;nbsp;CakePHP, чтобы сделать адреса более настраиваемыми и&amp;nbsp;гибкими. Если вы&amp;nbsp;используете Apache и&amp;nbsp;mod_rewrite, то&amp;nbsp;роуты можно и&amp;nbsp;не использовать, но&amp;nbsp;все же&amp;nbsp;их использование позволит куда большую гибкость, чем&amp;nbsp;при стандартных средствах.&lt;br />
В&amp;nbsp;CakePHP 1.2 функциональность роутов была сильно расширена.&lt;br />
Прежде чем&amp;nbsp;создавать свои роуты, вы&amp;nbsp;должны узнать какие в&amp;nbsp;CakePHP есть роуты по&amp;nbsp;умолчанию. Изначально CakePHP будет понимать &amp;laquo;красивые&amp;raquo; адреса в&amp;nbsp;любом приложении. Для&amp;nbsp;того чтобы вызвать какое-то действие &amp;mdash; достаточно просто указать в&amp;nbsp;адресе его&amp;nbsp;имя. Именно таким же&amp;nbsp;образом можно передать параметры в&amp;nbsp;это действие.&lt;br />
&lt;!--notypo-->&lt;textarea class="code" rows="2" readonly="readonly">http://example.com/controller/action/param1/param2/param3&lt;/textarea>&lt;!--/notypo-->&lt;div style="float:center; text-align:center">URL-шаблон роутов по&amp;nbsp;умолчанию&lt;/div>&lt;br />
URL&amp;nbsp;&lt;tt>/posts/view&lt;/tt> будет переадресован к&amp;nbsp;методу &lt;tt>view()&lt;/tt> контроллера &lt;tt>&lt;span class="missingpage">Posts&amp;nbsp;Controller&lt;/span>&lt;a href="http://cake-php.ru/wiki/PostsController/edit?add=1" title="Создать эту страницу">?&lt;/a>&lt;/tt>, URL&amp;nbsp;&lt;tt>/products/viewClearance&lt;/tt> &amp;mdash; к&amp;nbsp;методу &lt;tt>view_clearance()&lt;/tt> контроллера &lt;tt>ProductsController&lt;/tt>. Если в&amp;nbsp;URL дейтвие не&amp;nbsp;объявлено, то&amp;nbsp;переадресация идет к&amp;nbsp;методу &lt;tt>index()&lt;/tt>.&lt;br />
Стандартная маршрутизация также позволяет в&amp;nbsp;URL передавать параметры в&amp;nbsp;действия. Например URL&amp;nbsp;&lt;tt>/posts/view/25&lt;/tt> будет означать вызов функции &lt;tt>view(25)&lt;/tt> класса &lt;tt>PostsController&lt;/tt>.&lt;br />
В&amp;nbsp;CakePHP 1.2 появилась возможность называть параметры. Можно дать параметру имя&amp;nbsp;и&amp;nbsp;отправить его&amp;nbsp;значение при&amp;nbsp;помощи URL. Запрос на&amp;nbsp;адрес &lt;tt>/posts/view/title:first+post/category:general&lt;/tt> приведет к&amp;nbsp;обращению к&amp;nbsp;действию &lt;tt>view()&lt;/tt> контроллера &lt;tt>PostsController&lt;/tt>. Внутри действия вы&amp;nbsp;можете обратиться к&amp;nbsp;переданным параметрам, как&amp;nbsp;к&amp;nbsp;&lt;tt>$this-&amp;gt;passedArgs['title']&lt;/tt> и&amp;nbsp;&lt;tt>$this-&amp;gt;passedArgs['category']&lt;/tt>.&lt;br />
Некоторое резюме роутов по&amp;nbsp;умолчанию, которые могут быть вам&amp;nbsp;полезны:&lt;br />
URL: /monkeys/jump&lt;br />
Переадресация: &lt;span class="missingpage">Monkeys&amp;nbsp;Controller&lt;/span>&lt;a href="http://cake-php.ru/wiki/MonkeysController/edit?add=1" title="Создать эту страницу">?&lt;/a>-&amp;gt;jump();&lt;br />
URL: /products&lt;br />
Переадресация: &lt;span class="missingpage">Products&amp;nbsp;Controller&lt;/span>&lt;a href="http://cake-php.ru/wiki/ProductsController/edit?add=1" title="Создать эту страницу">?&lt;/a>-&amp;gt;index();&lt;br />
URL: /tasks/view/45&lt;br />
Переадресация: &lt;span class="missingpage">Tasks&amp;nbsp;Controller&lt;/span>&lt;a href="http://cake-php.ru/wiki/TasksController/edit?add=1" title="Создать эту страницу">?&lt;/a>-&amp;gt;view(45);&lt;br />
URL: /donations/view/recent/2001&lt;br />
Переадресация: &lt;span class="missingpage">Donations&amp;nbsp;Controller&lt;/span>&lt;a href="http://cake-php.ru/wiki/DonationsController/edit?add=1" title="Создать эту страницу">?&lt;/a>-&amp;gt;view('recent', '2001');&lt;br />
URL: /contents/view/chapter:models/section:associations&lt;br />
Переадресация: &lt;span class="missingpage">Contents&amp;nbsp;Controller&lt;/span>&lt;a href="http://cake-php.ru/wiki/ContentsController/edit?add=1" title="Создать эту страницу">?&lt;/a>-&amp;gt;view();&lt;br />
$this-&amp;gt;passedArgs['chapter'] = 'models';&lt;br />
$this-&amp;gt;passedArgs['section'] = 'associations';&lt;br />
&lt;!--notypo-->&lt;textarea class="code" rows="2" readonly="readonly">&lt;/textarea>&lt;!--/notypo-->(wacko wrapper=text wrapper_align=center)Примеры использования стандартных роутов&lt;!--notypo-->&lt;textarea class="code" rows="8" readonly="readonly">Определение своих роутов позволит вам определить как ваше приложение должно реагировать на тот или иной URL. Определите свои собственные роуты в файле ##/app/config/routes.php##, используя метод ##Router::connect()##.
Метод ##connect()## принимает до трех параметров: URL, при котором срабатывает роут, значение по умолчанию для любых элементов запроса и регулярное выражение, призванное помочь роуту найти необходимые части URL.
Router::connect(
	'URL',
	array('paramName' =&amp;gt; 'defaultValue'),
	array('paramName' =&amp;gt; 'matchingRegex')
)&lt;/textarea>&lt;!--/notypo-->&lt;div style="float:center; text-align:center">Шаблон определения роутов&lt;/div>&lt;br />
&lt;span class="mark">Ту би&amp;nbsp;континед&lt;/span>&lt;/div>&lt;br />
&lt;b>Удалено:&lt;/b>&lt;br />
&lt;div class="deletions">&lt;span class="mark">И о&amp;nbsp;чем мы&amp;nbsp;с вами только не&amp;nbsp;поговорим... Вот&amp;nbsp;будем о&amp;nbsp;роутах говорить на&amp;nbsp;днях. Интересно? Заглядывайте чаще. ;-)&lt;/span>&lt;/div>&lt;/div>
</description>
</item>
</channel>
</rss>
