This repository has been archived on 2024-04-08. You can view files and clone it, but cannot push or open issues or pull requests.
khosb/includes/kohana/modules/userguide/guide/ru-ru/using.configuration.md

59 lines
5.8 KiB
Markdown
Raw Normal View History

2010-08-21 04:43:03 +00:00
# Основы
Kohana использует для конфигурации как статические свойства, так и файлы. Статические свойства обычно применяются для статических классов, таких как [Cookie], [Security], и [Upload]. Файлы используются для объектов типа [Database], [Encrypt], и [Session].
Статические свойства могут быть установлены в `APPPATH/bootstrap.php` или с помощью [расширения классов](using.autoloading#class-extension). Преимущество статических свойств в том, что не требуется загрузки дополнительных файлов. Недостаток в том, что инициируется загрузка класса, когда свойство устанавливается (если Вы не используете для этого расширения). С другой стороны, использование расширений переопределит возможные расширения из других модулей. Так что рекомендуется выносить установку статических свойств в bootstrap.
[!!] При использовании opcode-кэширования, например [APC](http://php.net/apc) или [eAccelerator](http://eaccelerator.net/), время загрузки класса значительно уменьшается. Настойчиво рекомендуем использовать opcode-кэширование на любом работающем сайте, независимо от размера.
## Параметры инициализации
Для каждой новой установки Kohana потребуется изменить настройки [Kohana::init] в `APPPATH/bootstrap.php`. Все опущенные настройки будут использовать дефолтные значения. Настройки могут быть получены и изменены позже, с помощью статических свойств класса [Kohana]. К примеру, для получения текущей кодировки, обратитесь к свойству [Kohana::$charset].
## Настройки безопасности
Существует несколько параметров, которые необходимо поменять, чтобы сделать Kohana более защищенной. Самый важный из них - [Cookie::$salt], который используется для "подписывания" куков, что защищает их от подмены вне Kohana.
Если Вы планируете использовать класс [Encrypt], Вам также понадобится создать файл конфигурации `encrypt` и установить значение `ключа` шифрования. Шифровальный ключ должен включать буквы, цифры и знаки для повышения безопасности.
[!!] **Не используйте хэш для ключа шифрования!** Поступая таким образом, Вы облегчаете его взлом.
# Файлы конфигурации {#config-files}
Файлы конфигурации несколько отличаются от прочих файлов [каскадной файловой системы](about.filesystem) тем, что они **сливаются** вместо того, чтобы переопределяться. Это означает, что все конфигурационные файлы с одинаковым путем будут объединены для получения итоговой конфигурации. Как результат, Вы можете перезаписать *отдельные* параметры вместо того, чтобы дублровать все содержимое файла.
Файлы конфигурации являются обычными PHP-файлами, хранимыми в директории `config/`, они должны возвращать ассоциативный массив:
<?php defined('SYSPATH') or die('No direct script access.');
return array(
'setting' => 'value',
'options' => array(
'foo' => 'bar',
),
);
В данном примере файл называется `myconf.php`, и Вы можете получить доступ к нему так:
$config = Kohana::config('myconf');
$options = $config['options'];
[Kohana::config] также предоставляет быстрый доступ к отдельным ключам массива конфигурации, используя "точечные пути".
Получим доступ к массиву "options":
$options = Kohana::config('myconf.options');
А так извлечем ключ "foo" из массива "options":
$foo = Kohana::config('myconf.options.foo');
Также массивы могут выступать в качестве объектов, если Вам так больше нравится:
$options = Kohana::config('myconf')->options;
Пожалуйста, обратите внимание, что Вы можете получить доступ только к корневым ключам через свойства объекта, все дочерние ключи доступны через стандартный синтаксис работы с массивами:
$foo = Kohana::config('myconf')->options['foo'];