Настройки конфигурации CakePHP расположены в файле /app/config/core.php. Этот файл содержит переменные и константы класса Configure, которые определяют поведение вашего приложения. Прежде чем погрузиться в детали настроек, вы должны ознакомиться с классом Configure.
Новый класс Configure может использоваться для хранения любых значений. Будьте острожны — этот класс может хранить что угодно и давать доступ к этим данным из любой части приложения — прекрасное искушение к тому чтобы разорвать шаблон MVC. Основная цель этого класса, все же, хранить ту информацию, которая должна быть доступна максимальному количеству файлов вашего приложения.
Этот класс действует как одиночка и его методы могут быть вызваны из любой точки вашего приложения.
<?php Configure::read('debug'); ?>
<?php Configure
::write('Company.name','Pizza, Inc.');
Configure::write('Company.slogan','Пицца для вашего тела и души');?>
Примечание: используйте точку в параметре $key. Это поможет вам разграничить конфигурацию на логические группы.
Приведенный выше пример может быть так же записан при помощи одного вызова.
<?php Configure
::write(
'Company',array('name'=>'Pizza, Inc.','slogan'=>'Пицца для вашего тела и души') );
?>
Вы можете использовать Configure::write('debug', $int) для того чтобы переключаться между режимами отладки на лету. Особенно полезно это для AMF или SOAP, где отладочная информация может вызывать большие проблемы разбора содержимого.
<?php Configure
::read('Company.name'); //вернет: 'Pizza, Inc.'
Configure::read('Company.slogan'); //вернет: 'Пицца для вашего тела и души'
Configure::read('Company');
//вернет:
array('name' => 'Pizza, Inc.', 'slogan' => 'Пицца для вашего тела и души');?>
<?php Configure::delete('Company.name'); ?>
/app/config/messages.php<?php
$config
['Company']['name'] = 'Pizza, Inc.';
$config['Company']['slogan'] = 'Pizza for your body and soul';
$config['Company']['phone'] = '555-55-55';?>
/app/config/core.php<?php
Configure
::load('messages');
Configure::read('Company.name');?>
Примечание: все переменные для загрузки в конфигурацию должны представлять из себя массив ключ-значение с названием $config. Все прочие переменные будут проигнорированы при использовании функции load().
Переменная конфигурации | Описание |
debug | Изменение режима вывода отладки. 0 = Режим готовой продукции. Вывода отладки нет. 1 = Вывод ошибок и предупреждений. 2 = Вывод ошибок, предупреждений и SQL запросов. 3 = Вывод ошибок, предупреждений, SQL запросов и дампа всех переменных, доступных в контроллере. |
App.baseUrl | Раскомментируйте определение этой переменной, если не планируете использовать Apache и mod_rewrite для вашего приложения на CakePHP. Не забудьте так же удалить .htaccess файлы. |
Routing.admin | Раскомментируйте эту директиву, если хотите использовать роутинг для администратора. В значении должно быть название первой части адреса администратора. Подробнее эта опция будет описана позже. |
Cache.disable | Когда эта переменная устанавливается в true — на всем сайте отключается кеширование. |
Cache.check | Если установить в true, то будет возможно работать с кешем. Активация в контроллерах по прежнему необходима, но эта переменная дает возможность в принципе обнаружить эти настройки. |
Session.save | Сообщает CakePHP каким образом должны храниться сессии. php = Использовать стандартный механизм php. cake = Сохранять сессии в /app/tmp. database = Сохранять сессии в таблице базы данных. Перед использованием такого способа вам надо выполнить в базе данных запрос, лежащий изначально в файле /app/config/sql/sessions.sql. |
Session.table | Название таблицы (префикс не используется) для хранения сессий. |
Session.database | Имя базы данных с таблицей для хранения сессий. |
Session.cookie | Название Cookie в которой будет храниться ключ сессии. |
Session.timeout | Число в секундах, на основе которого будет вычислено время жизни Cookie с ключом сессии. Фактическое время зависит от Security.level |
Session.start | Если установить в true, то сессия будет создаваться при входе каждого нового пользователя. |
Session.checkAgent | При false CakePHP не будет проверять неизменность браузера пользователя. |
Security.level | Уровень безопасности CakePHP. Время действия сессии, объявленное в Session.timeout умножается на это значение. Возможные значения: 'high' = x 10 'medium' = x 100 'low' = x 300 |
Security.salt | Произвольный набор символов. Используется для создания хешей. |
Acl.classname, Acl.database | Константы используются в функциях Списков Контроля Доступа (ACL). Смотрите главу с таким названием для выяснения подробностей. |
Примечание: настройки конфигурации кеша находятся в файле core.php. Мы поговорим об этом позже и опишем эти настройки.
Класс конфигурации используется для того чтобы считывать и записывать переменные на лету. Это может быть особенно удобно, если вы, например, хотите выводить отладочную информацию только для некоторых частей вашего приложения.
Константа | Описание |
COMPRESS_CSS | Если установить в true, то CSS файлы будут сжиматься при отдаче. Для этого необходимо чтобы директория /var/cache была доступна для записи на сервере. Для использования опции прописывайте путь к вашим CSS файлам как /ccss (вместо /css) или используйте Controller::cssTag(). |
LOG_ERROR | Константа ошибки. Используется для разделения типа записи в лог: сообщения об ошибках и отладочные сообщения. Сейчас PHP поддерживает LOG_DEBUG. |
<< Настройка базы данных | Настройка роутов (маршрутизаций) >>