This repository has been archived on 2024-04-08. You can view files and clone it, but cannot push or open issues or pull requests.
khosb/includes/kohana/modules/userguide/guide/ru-ru/about.filesystem.md
2011-05-03 09:49:01 +10:00

6.5 KiB
Raw Blame History

Каскадная файловая система

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

Application путь
Определён как APPPATH в index.php. Значение по-умолчанию - application.
Module путь
Определён как ассоциативный массив [Kohana::modules] в APPPATH/bootstrap.php. Поиск каждого значение массива будет произведён в том порядке, в каком порядке они определены.
System путь
Определён как SYSPATH в index.php. Значение по-умолчанию - system. Все основные или "core" файлы и классы располагаются в этой категории.

Файлы, находящиеся в каталогах выше уровнем, имеют приоритет над файлами, которые располагаются в таких же папках уровнем ниже, что позволяет перегружать любой файл, путём перемещения файла с таким же названием на уровень выше:

Каскадная файловая система

Если у Вас имеется файл представления с названием wellcome.php, расположенный в APPPATH/views и SYSPATH/views, то при поиске файла с этим именем будет возвращен тот, который находится в папке APPPATH/views (как находящийся на высшем уровне иерархической системы). Если же удалить файл в каталоге APPPATH/views, то при очередном поиске этого файла будет вызван тот, что располагается в каталоге SYSPATH/views.

Типы файлов

Верхний уровень каталогов application, module, и system путей, по-умолчанию имеет следующие директории:

classes/
Все классы, которые должны быть автоматически загружены должны располагаться тут. Это касается контроллеров, моделей и всех других классов. Наименования классов должны соответствовать соглашению по именованию классов.
config/
Конфигурационные файлы возвращают ассоциативный массив опций, который может быть загружен с использованием метода [Kohana::config]. Для более подробной информации, обратитесь к разделу Настройка.
i18n/
Файлы перевода возвращают ассоциативный массив строк. Перевод осуществляется с использованием метода __().Для того, чтобы перевести "Hello, world!" на Русский, нужно вызвать __('Hello, world!') c [I18n::$lang] определённом как "ru-ru". Для более подробной информации, обратитесь к разделу Интернационализация.
messages/
Файлы сообщений возвращают ассоциативный массив строк, который может быть загружен с использованием [Kohana::message]. Разница между сообщениями и файлами интернационализации заключается в том, что сообщения никогда не переводятся, пишутся на языке, используемом по-умолчанию, и вызываются по односложному ключу. Для более подробной информации, обратитесь к разделу Сообщения (Messages).
views/
Файлы представления являются PHP файлами, которые используются для генерации HTML или другого вида вывода информации. Файлы представления загружаются в объект [View] и присваиваются переменным, которые в дальнейшем конвертируются во фрагменты HTML. Множественные файлы представления могут быть вызваны одни в других. Для более подробной информации, обратитесь к разделу Представление и HTML.

Поиск файлов

Путь к любому файлу в файловой структуре приложения может быть найден путём вызова [Kohana::find_file]:

// Ищет полный путь до "classes/cookie.php"
$path = Kohana::find_file('classes', 'cookie');

// Ищет полный путь до "views/user/login.php"
$path = Kohana::find_file('views', 'user/login');

Сторонние библиотеки

Мы называем библиотеки, которые не специфичны для Kohana "vendor" библиотеками. Например, если Вы хотите использовать DOMPDF, то Вам нужно скопировать эту библиотеку в application/vendor/dompdf и добавить автозагрузочный класс DOMPDF:

require Kohana::find_file('vendor', 'dompdf/dompdf/dompdf_config.inc');

После этого, можно использовать DOMPDF без загрузки каких-либо других файлов:

$pdf = new DOMPDF;

[!!] Если Вы хотите конвертировать представление в PDF с использованием DOMPDF, используйте PDFView модуль.