Сейчас, после того, как мы установили Кохану и создали наши первые Виды и Контроллеры, пришла пора более внимательно рассмотреть внутреннее устройство фреймворка и получить необходимые знания для создания продвинутых веб-приложений, а не просто сайтов-визиток.
Фреймворк Кохана имеет каскадную файловую систему. Это значит, что фреймворк загружает файлы каждой части своего ядра в определенном порядке, т.е. существует некая иерархия. Для этого используется специальный метод Kohana::find_file(), который осуществляет поиск и загрузку файла с классом в следующем порядке (для значений, заданных по умолчанию):
Когда происходит загрузка фреймворка, происходит некое объединение файлов в порядке, рассмотренном выше. Одним из преимуществ такого подхода является возможность легкой перезагрузки класса, который загружается позже. Таким образом мы можем изменить поведение какого-то класса из системной директории просто перезагрузив этот класс в директории приложения.
В каждой из вышеописанных трех директорий могут быть пять основных поддиректорий, в которые заглядывает фреймворк и которые содержат определенные файлы. Это:
Стоит заметить, что расположение этих пяти поддиректорий в корне основных директорий справедливо только для /application и /system. В /modules вы сначала увидите поддиректории модулей, а уже в них всю вышеназванную структуру.
В следующем уроке мы пошагово рассмотрим работу Коханы начиная с главного файла index.php. Что-то уже рассматривалось в первых уроках, так что как раз закрепим те знания и добавим новые.
<< Назад | Вперед >> |
Пожалуйста, зарегистрируйтесь для комментирования.
Здравствуйте, вот вы пишите: «Автозагрузка позволяет нам использовать их без всякого ручного подключения, т.е. любой класс в этой директории загружается автоматически при его использовании.» Объясните, пожалуйста почему в таком случае автоматически не заргужается Controller_Comon, который вы описывали здесь:http://kohanaframework.su/starting/base_controller.При обращении к mysite.ru/page/about или mysite.ru/page/contact возникает ошибка «класс Controller_Comon» не найден. А после того как я подключил файл с Controller_Comon все отлично заработало.
Что значит не загружается ? Прекрасно он загружается. Мы его наследуем «extends Controller_Common» и Кохана его автоматически находит и загружает. Если у вас не работает, то вы что-то делаете не так.
Да, действительно, извиняюсь. Просто я в файле common.php одну букву m не написал.
Файлы Видов. Директория /views. В ней содержаться файлы представления нашего приложения. Работу с шаблонами из этой директории мы уже рассматривали в предыдущих уроках.
// cодержатся без мягкого знака