Kohana для чайников. Пользовательские конфиги

kohanaВот уж не думал, что буду использовать свои конфиги!! А начиналось вроде бы всё просто.

Ведь всегда у сайта есть некие величины, которые не меняются. Ну, например, “Главное название сайта”. Оно практически всегда присутствует в титуле любой страницы, в футере, в меню, в заголовках и т.д.

Или тогда другой пример — какое-нибудь количество записей на какой-нибудь странице результатов поиска. Ну правда же, да забейте вы это число (строку или ещё чего) прямо в контроллер или в шаблон. Казалось бы…

Но что если вам пришлось поменять этот параметр? Нужно вспомнить место в коде, где эта величина была введена.

А что если эта величина используется в коде несколько раз? Иногда у разработчика хватает ума объявить переменную, которую один раз задать и сто раз использовать. Это может немного облегчить наши мучения.

А что если вам пришлось тиражировать свою разработку на кучу сайтов? Нужно срочно бегом менять толпу величин, прописанных в разных местах и по-разному!

Самый правильный выход в такой ситуации — вывести такие величины в конфиг и использовать как опциональные настройки.

Использовать свои конфиги в Kohana3 очень просто. Для этого создадим файл в папке config/
В нём опишем массив своих опций/величин:

К примеру назовём файл myconf.php

 'Мой любимый сайт',
    'option1' => 'qweqwe',
    'option2' => 'blablabla',
    'options_array' => array(
       'opt1' => 'xcvxcvxcv',
    ),
);

Обратите внимание, что опция сама может быть массивом

А дальше дело техники. Подключаем файл опций и используем опции.

$myconfig = Kohana::config('myconf');
$title = $myconfig['site_title'];

В этом примере мы вытащили настройку за две строчки кода. А можно было сделать одной строчкой

$title = Kohana::config('myconf.site_title');

Или так

$opt1 = Kohana::config('myconf.options_array.opt1');

Всё довольно просто.

Всё тут описанное вольный пересказ/перевод статьи из мануала, сделанный чтобы самому не забыть и может даже кому помочь.
=)

Kohana для чайников. Пользовательские конфиги: 2 комментария

  1. Maxim

    Очень полезно я делал все настройки в before но так намного правельнее.

  2. Руслан

    Отлично, спасибо!
    А как поступить, если данные конфигов находятся в БД? Например то же название или телефон, если они меняются через админку. Как их пихать в конфиг, чтобы они были доступны на каждой странице?

Комментарии запрещены.