26 lines
2.5 KiB
Markdown
26 lines
2.5 KiB
Markdown
# Соглашения
|
||
|
||
## Имена классов и расположение файлов
|
||
|
||
Для облегчения работы [автозагрузки](start.autoloading) в Kohana, имена классов строго регламентированы.
|
||
|
||
Имя класса должно начинаться с заглавной буквы, а для разделения слов в имени используется нижнее подчёркивание. Нижнее подчёркивание отражает расположение файла в файловой структуре проекта.
|
||
|
||
Название класса Файл
|
||
|
||
Controller_Template classes/controller/template.php
|
||
Model_User classes/model/user.php
|
||
Model_Auth_User classes/model/auth/user.php
|
||
Auth classes/auth.php
|
||
|
||
Использовать CamelCase в имени класса не рекомендуется.
|
||
|
||
Все файлы классов и директории должны быть в нижнем регистре.
|
||
|
||
Все классы должны располагаться в директории `classes`, которая может быть на любом уровне [каскадной файловой системы](start.filesystem) фреймворка.
|
||
|
||
В отличие от Kohana 2.x и некоторых других фреймворков, Kohana 3 не видит разницы между *типами* классов. Между 'хелпером' и 'библиотекой' нет различий - в Kohana 3 любой класс может реализовывать любой интерфейс вне зависимости от того, полностью ли он статический (а-ля хелпер), подерживает создание экземпляров класса или нет (например, паттерн singleton).
|
||
|
||
## Оформление кода
|
||
|
||
При работе с фреймворком приветствуется использование Kohana coding style. В нем используется [BSD/Allman стиль](http://en.wikipedia.org/wiki/Indent_style#BSD.2FAllman_style) оформления текста. (Более подробную информацию о Kohana coding style можно получить, обратившись к [подробному описанию](http://dev.kohanaphp.com/wiki/kohana2/CodingStyle) предпочитаемого в Kohana стиля.) |