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



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

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

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

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

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

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

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

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

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

1
2
3
4
5
6
7
8
9
<?php
return array(
    'site_title' => 'Мой любимый сайт',
    'option1' => 'qweqwe',
    'option2' => 'blablabla',
    'options_array' => array(
       'opt1' => 'xcvxcvxcv',
    ),
);

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

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

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

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

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

Или так

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

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

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

Посты по теме:

  1. Kohana для чайников. Инсталляция.
  2. Kohana для чайников. Простейший ORM
  3. Kohana для чайников. Избавляемся от index.php
  4. Kohana для чайников. Hello world.
  5. Kohana для чайников. Файловая структура, или история одной ошибки.

Категории Kohana |
автор: altesack / Среда, Декабрь 15, 2010 / 2 комментов »

2 комментов

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

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