Файловая система

Файловая система Kohana 3 представляет собой иерархическую структуру каталогов. Каждый файл, подгружаемый системой с помощью Kohana::find_file, по очереди ищется в следующих каталогах:

  1. Папка приложения (application). Сначала Kohana ищет файл в папке вашего приложения.
  2. Папка каждого из модулей (modules). Затем, файл ищется в каждой папке включенного через Kohana::modules модуля (в том порядке, в котором они определены).
  3. Системная папка (system). И в последнюю очередь, Kohana ищет файл в собственной системной папке.

Что дает такая файловая структура? Всегда можно расширить функционал системы дополнительным модулем, не изменяя системный каталог (что облегчает обновление версии kohana в дальнейшем) — достаточно создать файл с таким же именем в директории выше по приоритету чтобы переопределить файл.
Например, если существует файл system/views/kohana/error.php и application/views/kohana/error.php, то при подключении файла views/kohana/error будет подключен тот, который находится в папке по приоритету выше (в данном случае — application/views/kohana/error.php)

Читать далее «Файловая система»

Установка

Чтобы установить Kohana, вам как минимум потребуется веб-сервер с поддержкой PHP5. Для «красивых» URL необходим модуль Apache mod_rewrite, либо подобный ему.

Читать далее «Установка»

Руководство пользователя

На production-сервере необходимо отключать этот модуль, т.к. с помощью него можно просмотреть весь исходный код приложения.

Kohana предоставляет встроенное руководство пользователя и навигатор по API. После включения модуля userguide, прописывается роут, который делает доступным руководство по адресу /guide.

Route (Роутинг)

Роутинг — процесс преобразования URI в набор понятных фреймворку параметров, таких как название контроллера, действия и т.д. Другими словами можно сказать, что роутинг принимает на вход строку URI-адреса, а на выход отдает массив параметров. В Kohana роутинг используется для того, чтобы определить обращению нужный для запуска контроллер и набор параметров для него. В преобразовании принимает участие именно URI-адрес (не путать с URL), в данном случае это часть URL-адреса без хоста и GET-параметров. Например, для адреса http://somehost/file/download/3/?from=index&param2=somevalue URI-адресом будет строка /file/download/3.

Роутинг происходит с помощью роутов, отдельных правил для URI-адреса. При запуске роутинга, каждый роут по порядку проверяет свое правило с URI-адресом, при успешном совпадении роутинг прекращается и роут извлекает параметры из адреса.

В Kohana роутинг происходит в основном с помощью регулярных выражений, поэтому ожидается, что вы имеете некоторый опыт в работе с ними. Настройка роутов по умолчанию происходит в файле bootstrap, но нередко их выносят в отдельный файл для удобства.

Читать далее «Route (Роутинг)»

Распространенные ошибки

Здесь собран список ошибок, которые обычно допускают при разработке приложений.

Никогда не редактируйте /system

Вы никогда не должны редактировать системный путь /system, иначе это может приводить к сбоям при обновлении версии Kohana. Если же вам нужно как-то усовершенствовать/изменить функционал фреймворка, используйте прозрачное расширение классов и преимущества каскадной файловой системы.

Читать далее «Распространенные ошибки»

Профилирование

Чтобы включить профилирование, необходимо установить директиву profile в TRUE при вызове функции Kohana::init. При включенном профилировании Kohana собирает следующую информацию:

  • Суммарное время вызовов некоторых системных функций, таких как Kohana::find_file и Kohana::init
  • Время выполнения запросов (Request), что очень полезно, если вы активно используете внутренние запросы.
  • Время выполнения запросов к БД через класс Database.
  • Общее время выполнения текущего приложения.

Читать далее «Профилирование»

Командная строка

Kohana позволяет полноценно работать с командной строкой (CLI — Command-Line Interface) прямо «из коробки». Работа через командную строку ведется, когда необходимо какую-то часть приложения выполнять вне браузера, например по планировщику заданий (cron) либо через удаленный терминал.

Читать далее «Командная строка»

Кеширование

В стандартную установку Kohana входит модуль кеширования, предоставляющий функции кеширования через следующие методы:

  • APC — Alternative PHP Cache,
  • File — Файловый кеш средствами Kohana,
  • Memcached (с поддержкой тегов),
  • SQLite (с поддержкой тегов),

Читать далее «Кеширование»