Контент


Инсталляция Kohana

Только ленивый еще не писал об установке данного фреймворка, так что напишу кратенько.

Внимание! Дистрибутив использует кодировку utf-8, поэтому правим файлы фреймворка в поддерживающих юникод текстовых редакторах.

  1. Качаем отсюда. Текущая стабильная версия — 2.3. Выбираем дополнительные опции (модули, языковые пакеты и т.д.)
  2. Распаковав, обнаруживаем внутри архива следующую структуру файлов и папок:
    +application
    +modules
    +system

    example.htaccess
    index.php
    install.php

    Папки modules и system мы менять не будем, рекомендуется их выносить вне доступа из WWW. К тому же появится возможность использовать один дистрибутив для нескольких проектов. Впрочем, никто нам не мешает спрятать все три папки. Путь к этим важным директориям прописывается в файле index.php (уж его-то прятать не надо). Например, так:

    $kohana_application = 'application';
    $kohana_modules = '../Kohana_v2.3/modules';
    $kohana_system = '../Kohana_v2.3/system';
  3. Файл example.htaccess переименовываем в .htaccess (необходимо организовать единую точку входа на сайт, перенаправив запросы на index.php), внутри файла практически все уже сделано. Остается только подправить параметр RewriteBase, который определяет путь к index.php относительно корня сайта. Например, в дистрибутиве указана директория kohana, а если Вы хотите доступность из корня сайта — пишем просто прямой слэш (‘/’).
  4. Открываем файл application/config/config.php. В нем находим строчку:
    $config['site_domain'] = '/kohana/';

    и исправляем ее под себя. Как видно из названия, это базовый УРЛ проекта. Можно писать как относительный путь (в примере выше), так и абсолютный, например

    $config['site_domain'] = 'http://example.com/kohana/';

    В общем-то, пишем сюда то же самое, что и в параметре RewriteBase файла .htaccess (п.3).

  5. Прокручиваем файл до самого конца, там закомментированы дополнительные модули (auth, forge и прочие), если они у нас есть и сейчас нужны — удаляем комментарии. Сейчас их трогать не будем, но запомним, что они есть (как тот суслик).
  6. Какой же проект без использования БД? А поскольку есть возможность подключиться к БД, надо указать параметры подключения (хост/имя бд/логин/пароль и прочие вещи). Для этого копируем из system/config/ файл database.php (прихватите заодно и routes.php, забегая вперед) в папку application/config/. Открываем его и вносим свои параметры:
    $config['default'] = array
    (
    	'benchmark'     => TRUE,
    	'persistent'    => FALSE,
    	'connection'    => array
    	(
    		'type'     => 'mysql', // указываем тип драйвера, обычно MySQL
    		'user'     => 'username',   //  имя пользователя, выдается хостером
    		'pass'     => '*******',   //  пароль на данный логин
    		'host'     => 'localhost',   //  имя сервера с СУБД, обычно подходит localhost
    		'port'     => FALSE,        //  эти параметры оставляем по умолчанию
    		'socket'   => FALSE,
    		'database' => 'kohana'   //  имя БД. У нас ведь может быть несколько проектов на хосте
    	),
    	'character_set' => 'utf8',       //  пора уже переходить на юникод :)
    	'table_prefix'  => '',              //  можно использовать префикс перед именами таблиц, например 'kohana_'
    	'object'        => TRUE,        //  не трогаем дальше
    	'cache'         => FALSE,
    	'escape'        => TRUE
    );
  7. Пытаемся открыть базовую для проекта страницу (например, ‘http://example.com/kohana/’). Если мы оставили рядом с index.php файл install.php, увидим страницу с проверкой настроек Kohana (версия php, правильность прописанных путей к трем главным директориям, подключенные модули расширения php). Все интуитивно понятно — зеленый свет позволяет не задумываясь удалить файл install.php.
  8. Теперь попытка открыть стартовую страницу проекта приведет нас к приветственной надписи «Welcome to Kohana!». Предлагаю на этом пока остановиться и с удовлетворением отвлечься от компьютера ;)
Google Bookmarks Digg Reddit del.icio.us Ma.gnolia Technorati Slashdot Yahoo My Web News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong

Опубликовано в учебник.

Теги: , .


Комментарии (11)

Будьте в курсе обсуждения, подпишитесь на RSS ленту комментариев к этой записи.

  1. cybexx пишет:

    Вопрос совсем не в тему, просто не нашёл у Вас такой темы…
    Столкнулся с такой проблемой: пишу сайт на Kohana в кодировке cp1251. При передаче методом POST (впрочем и другие методы тоже постигнет та же участь) из переменных вырезаются все русские символы.

    Нашел, что делает это функция в файле utf8.php

    public static function is_ascii($str)
    {
    return ! preg_match(‘/[^\x00-\x7F]/S’, $str);
    }

    Подскажите как ее переделать чтобы русские символы не вырезались. И где еще по ходу можно будет натолкнуться на такие камни?

  2. cybexx пишет:

    мда… поковырялся в коде…. чувствую избавиться от utf8 будет очень трудно. Видно придется смириться, уж больно kohana нравится. И все таки я не понимаю этих бурных восторгов от utf8…

  3. BIakaVeron пишет:

    Можно конечно переделать функцию is_ascii(), чтобы она искала символы от C0 до FF (диапазон cp1251), а можно — чтобы просто возвращала TRUE всегда. Но, подозреваю, проблемы все равно останутся, так что лучше уж переходите на UTF.

  4. cybexx пишет:

    Да, пожалуй, одной is_ascii не отделаешься.
    Придется переходить… как не хочется….
    Это пожалуй самый большой минус в Kohana : отсутствие выбора кодировки.
    Ну не дает мне UTF8 никаких преимуществ и всё! Французский, немецкий мне не понадобятся. Специфичные символы в тексте встречаться не будут. Больше плюсов у UTF8 я не знаю. Зачем она мне нужна?

  5. BIakaVeron пишет:

    А почему cp1251? Имеется уже заполненная БД в данной кодировке?

  6. cybexx пишет:

    Нет. Проект пишется с нуля. Только если сравнивать cp1251 и utf8, для себя у второй кодировки нахожу больше минусов нежели плюсов (если уж начистоту, то вообще ни одного плюса)

    Меня очень давно мучает вопрос: чем именно привлекает utf8 обычного сайтостроителя? Производителей движков и cms — понятно, им нужно спихнуть с себя проблему кодировок и сосредоточится на функционале системы.

    Но вот применительно к конкретному сайту : что дает UTF8 ? Почему все вдруг поверили производителям cms, что utf8 — это круто?
    Я соглашусь, что в некоторых случаях ( очень редких) использование utf8 оправданно. Это:
    - мультиязычность, причем именно «мульти», а не просто английская версия.
    - разные спецсимволы прямо в тексте.
    Всё! Больше нет. Ответим честно каждый для себя: как часто он использует эти преимущества?

    Посмотрим на минусы. О них почему то часто умалчивают, но они есть, и порой эти проблемы становятся критическими:
    - обработка строк, нахождение позиции подстроки в строке
    - объем БД в utf8 больше в 2 раза
    - как следствие из второго: поиск в базе в 2 раза медленнее

    Kohana все таки заставляет меня «пересесть» на utf8. Надеюсь, что на практике плюсы перевесят минусы, но шестое чувство подсказывает, что будет наоборот.

    ps: Иван, напишите небольшую статейку про кодировки и перенесите туда эти камменты, может будут желающие пообщаться на эту тему?

  7. BIakaVeron пишет:

    Ну, обработка UTF-строк в PHP5 действительно не ахти какая, но вроде как в шестой версии все будет тип-топ (дожить бы).
    БД никто не мешает держать в cp1251, с этим у Kohana проблем вроде нет.
    Насчет статьи — а о чем собственно писать-то? Кодировка в Kohana одна, описывать класс utf смысла немного…

  8. cybexx пишет:

    «Насчет статьи — а о чем собственно писать-то?»
    —-
    Да просто чтобы обозначить тему. А то эта статья вроде как не по этому вопросу. А очень хочется услышать: кто нибудь может приведет реальный ПЛЮС от utf8, который я не знаю, и мне будет легче ужиться с этой кодировкой :)

  9. BIakaVeron пишет:

    Могу предложить почитать вот это.

  10. Евгений пишет:

    У меня тоже проблема: на локалхосте все нормально работало, поставил на сервер — ошибка : таблица такая-то не существует в вашей бд. Хотя бд есть и таблички и данные.
    Что это может быть? Настройки все применил.

  11. BIakaVeron пишет:

    Как правило, в первую очередь надо смотреть на регистр, будь то имена классов или названия ресурсов типа таблиц БД (*NIX-системы регистрозависимы).



Можно включить подсветку кода: <code><pre lang="">...</pre></code>
Разрешены некоторые HTML теги

или используйте trackback.