# Соглашения ## Имена классов и расположение файлов Для облегчения работы [автозагрузки](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 стиля.)