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 стиля.)
|