Всем привет! Давно не писал. И давно уже обещал заняться фреймворком Kohana, чему и собираюсь посвятить серию постов.
Как это ни прискорбно – но я полный чайник во всем, что касается Kohana, и поэтому буду писать, как для чайников, поэтапно проходя и фиксируя все, даже очень мелкие детали работы с ним.
Версия
————————-
Должен пояснить, что на данный момент существует стабильная и хорошо документированная версия 2.3.4 и предварительная, вся такая сырая и без документации, но перспективная 3.0.3. Между ними есть весьма существенная разница. И каждый нормальный программист на моём выбрал бы для изучения более новую версию, как более перспективную. Но скудость самой элементарной информации привёла меня к необходимости изучения обеих версий.
Инсталляция
————————-
Предполагается что на вашем веб-сервере установлен PHP>=5.2.3. Довольно суровое ограничение, но оно, надеюсь, того стоит.
Первый этап – скачать и распаковать содержимое архива в какую-нибудь папку вебсервера. Скачать свежую стабильную версию можно на официальном сайте. Поскольку Kohana3 пока не является стабильной, качать её нужно здесь
После распаковки архива можно с помощью вашего любимого браузера обратиться к этой папке. Если что-то нужно сделать – страница вас об этом попросит.
А попросит скорее всего открыть доступ на запись/чтение папки application/cache и application/logs. Ещё Kohana3 мне предложила установить таки mcrypt и cURL . После того как не будет показываться ошибок и все строчки будут зелёными, можно продолжать.
После этого можно удалять файл install.php из каталога установки. Установка Kohana2 на этом почти закончена. А Kohana3 осталось совсем немного настроить.
- Экран инсталляции Kohana2
- Экран инсталляции Kohana3
- После инсталляции и настройки Kohana2
- После инсталляции и настройки Kohana3
Базовая настройка Kohana3
————————-
Здесь разговор пойдёт не о тонком тюнинге, а о самых базовых настройках, без которых не мыслима работа с фреймворком.
Все нужные нам настройки находятся в application/bootstrap.php. Самое главное что нужно сделать – это установить значение переменной base_url в вызове функции Kohana::init, где нужно указать расположение папки kohana на вашем сервере. Например:
1 | Kohana::init(array('base_url' => '/kohana/')); |
Кроме того, раз уж мы снизошли до application/bootstrap.php, имеет смысл сразу установить часовой пояс и локаль:
1 2 | date_default_timezone_set('Europe/Moscow'); setlocale(LC_ALL, 'ru_RU.utf-8'); |
Для начала этого достаточно. Можно считать, что инсталляция прошла успешно.
Базовая настройка Kohana2 (upd)
————————–
Kohana2 и без настройки будет работать, но несколько прихрамывая, а именно будут сломаны внутренние ссылки. А всё потому, что как и в Kohana 3, здесь тоже нужно прописать базовый URL в файле application/config/config.php
1 | $config['site_domain'] = 'localhost/kohana/'; |
Теперь точно всё.
Немного зауми
————————-
На самом деле, когда все файлы фреймворка находятся в публично читаемом каталоге вебсервера – не очень хорошо. Правильные программисты делают несколько по-другому. Все файлы системы, модулей и даже конкретного приложения лучше поместить в каталог, по-дальше от глаз вездесущих пользователей, оставив наружу только index.php и, например .htaccess
В таком случае нужно подредактировать index.php и заменить код:
1 2 3 4 5 | $application = 'application'; ..... $modules = 'modules'; ..... $system = 'system'; |
например на
1 2 3 4 5 | $application = '../../../k3/application'; ..... $modules = '../../../k3/modules'; ..... $system = '../../../k3/system'; |
А ещё я настоятельно рекомендую переименовывать каталог application. Кроме того, что это повышает безопасность приложения, это ещё и позволяет нескольким приложениям (читай “сайтам”) на одном хостинге использовать одну инсталляцию Kohana, а это существенно упрощает сопровождение и обновление.
Вот пока всё. =)
Постараюсь надолго не пропадать.
Посты по теме:




RSS-подписка
а чем крута или примечательна эта CMS? для чего используется? есть ли какие-то свои фишки?
Это не CMS, а php-фреймворк. Наподобие Codeigniter.
Из плюсов – ожидаю функционал. Из минусов – слабая документация, по сравнению с CI.
Или я что-то не понимаю.
altesack пишет:
очень надеюсь, что в качестве документации можно будет использовать твой сайт)))
@ Dandr:
Постараюсь.
Даа, хорошая документация — это 50% успеха фреймворка, а здесь мы такого не наблюдаем да и ORM в Kohana слабенький, тогда уж сразу прикручивать Doctrine
@ Nayjest:
Про 50% – сказано в самую точку. Этой серией постов попробую хоть чуток облегчить ситуацию.
Про ORM – ещё предстоит разбирательство