Только ленивый еще не писал об установке данного фреймворка, так что напишу кратенько.
Внимание! Дистрибутив использует кодировку utf-8, поэтому правим файлы фреймворка в поддерживающих юникод текстовых редакторах.
- Качаем отсюда. Текущая стабильная версия — 2.3. Выбираем дополнительные опции (модули, языковые пакеты и т.д.)
- Распаковав, обнаруживаем внутри архива следующую структуру файлов и папок:
+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';
- Файл example.htaccess переименовываем в .htaccess (необходимо организовать единую точку входа на сайт, перенаправив запросы на index.php), внутри файла практически все уже сделано. Остается только подправить параметр RewriteBase, который определяет путь к index.php относительно корня сайта. Например, в дистрибутиве указана директория kohana, а если Вы хотите доступность из корня сайта — пишем просто прямой слэш (‘/’).
- Открываем файл application/config/config.php. В нем находим строчку:
$config['site_domain'] = '/kohana/';
и исправляем ее под себя. Как видно из названия, это базовый УРЛ проекта. Можно писать как относительный путь (в примере выше), так и абсолютный, например
$config['site_domain'] = 'http://example.com/kohana/';
В общем-то, пишем сюда то же самое, что и в параметре RewriteBase файла .htaccess (п.3).
- Прокручиваем файл до самого конца, там закомментированы дополнительные модули (auth, forge и прочие), если они у нас есть и сейчас нужны — удаляем комментарии. Сейчас их трогать не будем, но запомним, что они есть (как тот суслик).
- Какой же проект без использования БД? А поскольку есть возможность подключиться к БД, надо указать параметры подключения (хост/имя бд/логин/пароль и прочие вещи). Для этого копируем из 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 );
- Пытаемся открыть базовую для проекта страницу (например, ‘http://example.com/kohana/’). Если мы оставили рядом с index.php файл install.php, увидим страницу с проверкой настроек Kohana (версия php, правильность прописанных путей к трем главным директориям, подключенные модули расширения php). Все интуитивно понятно — зеленый свет позволяет не задумываясь удалить файл install.php.
- Теперь попытка открыть стартовую страницу проекта приведет нас к приветственной надписи «Welcome to Kohana!». Предлагаю на этом пока остановиться и с удовлетворением отвлечься от компьютера
Вопрос совсем не в тему, просто не нашёл у Вас такой темы…
Столкнулся с такой проблемой: пишу сайт на Kohana в кодировке cp1251. При передаче методом POST (впрочем и другие методы тоже постигнет та же участь) из переменных вырезаются все русские символы.
Нашел, что делает это функция в файле utf8.php
public static function is_ascii($str)
{
return ! preg_match(‘/[^\x00-\x7F]/S’, $str);
}
Подскажите как ее переделать чтобы русские символы не вырезались. И где еще по ходу можно будет натолкнуться на такие камни?
мда… поковырялся в коде…. чувствую избавиться от utf8 будет очень трудно. Видно придется смириться, уж больно kohana нравится. И все таки я не понимаю этих бурных восторгов от utf8…
Можно конечно переделать функцию is_ascii(), чтобы она искала символы от C0 до FF (диапазон cp1251), а можно — чтобы просто возвращала TRUE всегда. Но, подозреваю, проблемы все равно останутся, так что лучше уж переходите на UTF.
Да, пожалуй, одной is_ascii не отделаешься.
Придется переходить… как не хочется….
Это пожалуй самый большой минус в Kohana : отсутствие выбора кодировки.
Ну не дает мне UTF8 никаких преимуществ и всё! Французский, немецкий мне не понадобятся. Специфичные символы в тексте встречаться не будут. Больше плюсов у UTF8 я не знаю. Зачем она мне нужна?
А почему cp1251? Имеется уже заполненная БД в данной кодировке?
Нет. Проект пишется с нуля. Только если сравнивать cp1251 и utf8, для себя у второй кодировки нахожу больше минусов нежели плюсов (если уж начистоту, то вообще ни одного плюса)
Меня очень давно мучает вопрос: чем именно привлекает utf8 обычного сайтостроителя? Производителей движков и cms — понятно, им нужно спихнуть с себя проблему кодировок и сосредоточится на функционале системы.
Но вот применительно к конкретному сайту : что дает UTF8 ? Почему все вдруг поверили производителям cms, что utf8 — это круто?
Я соглашусь, что в некоторых случаях ( очень редких) использование utf8 оправданно. Это:
- мультиязычность, причем именно «мульти», а не просто английская версия.
- разные спецсимволы прямо в тексте.
Всё! Больше нет. Ответим честно каждый для себя: как часто он использует эти преимущества?
Посмотрим на минусы. О них почему то часто умалчивают, но они есть, и порой эти проблемы становятся критическими:
- обработка строк, нахождение позиции подстроки в строке
- объем БД в utf8 больше в 2 раза
- как следствие из второго: поиск в базе в 2 раза медленнее
Kohana все таки заставляет меня «пересесть» на utf8. Надеюсь, что на практике плюсы перевесят минусы, но шестое чувство подсказывает, что будет наоборот.
ps: Иван, напишите небольшую статейку про кодировки и перенесите туда эти камменты, может будут желающие пообщаться на эту тему?
Ну, обработка UTF-строк в PHP5 действительно не ахти какая, но вроде как в шестой версии все будет тип-топ (дожить бы).
БД никто не мешает держать в cp1251, с этим у Kohana проблем вроде нет.
Насчет статьи — а о чем собственно писать-то? Кодировка в Kohana одна, описывать класс utf смысла немного…
«Насчет статьи — а о чем собственно писать-то?»
—-
Да просто чтобы обозначить тему. А то эта статья вроде как не по этому вопросу. А очень хочется услышать: кто нибудь может приведет реальный ПЛЮС от utf8, который я не знаю, и мне будет легче ужиться с этой кодировкой
Могу предложить почитать вот это.
У меня тоже проблема: на локалхосте все нормально работало, поставил на сервер — ошибка : таблица такая-то не существует в вашей бд. Хотя бд есть и таблички и данные.
Что это может быть? Настройки все применил.
Как правило, в первую очередь надо смотреть на регистр, будь то имена классов или названия ресурсов типа таблиц БД (*NIX-системы регистрозависимы).