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

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

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

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

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

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

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

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

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

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

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

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

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

$myconfig = Kohana::config(‘myconf’); Kohana для чайников. Пользовательские конфиги = $myconfig[‘site_title’];

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

Kohana для чайников. Пользовательские конфиги = Kohana::config(‘myconf.site_title’);

Или так

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

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

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

Оставьте комментарий