Основное взаимосогласие или принятие определенных практик или позиций: По соглашению, север находится вверху большинства карт.
Практика или процедура широко проглядываемая в группе, особенно для облегчения социального взаимодействия проще: соглашение о рукопожатии.
Широко-используемое и принятое устройство или техника, как драма, литература, или рисование: театральное соглашение об отходах в сторону (чтобы прошептать что-то).
Соглашение в Cake это то, что творит чудеса, прочтите automagic. Не стоит упоминать даже о популяризации соглашения на конфигурацию, Cake увеличивает вашу продуктивность до пугающего уровня без потерь в гибкости. Соглашения в cake действительно просты и интуитивно понятны. Они были извлечены у лучших практиков хороших веб-разработчиков, которые использовались годами на поле веб-разработки.
Имена файлов
Имена файлов подчеркнуты. Как основное правило, если у вас есть класс My Nifty Class, тогда в Cake, этот файл должен быть назван my_nifty_class.php.
Так что если вы найдете snippet вы автоматически узнаете что:
Если это имя контроллера Kisses And Hugs Controller, то имя его файла kisses_and_hugs_controller.php
Если это имя модели Option Value, тогда имя файла будет option_value.php
Если это имя компонента My Handy Component тогда имя его файла должно быть my_handy.php
Если это имя хелпера Best Helper Ever, тогда имя файла должно быть best_helper_ever.php
Модели
Имена классов моделей число единичное.
Имя класса модели пишется с большой буквы для однословной модели, и КаждоеСловоИмениМодели (без пробелов) с большой в многословном названии. (Примеры: Человек, Обезьяна, СтекляннаяДверь, РеальноСмешнаяШтука)
Соединенные таблицы методом многие-к-многим должны быть названы: по-алфавиту_первая_таблица_множественное_число_по-алфавиту_вторая_таблица_множественное_число например: tags_users
Имена файлов моделей используют нижний регистр и подчеркивание. (Примеры: person.php, monkey.php, glass_door.php, line_item.php, really_nifty_thing.php)
Таблицы базы данных, относящиеся к моделям также используют нижний регистр и подчеркивание – но они в множественном числе. (Примеры: people, monkeys, glass_doors, line_items, really_nifty_things)
Соглашение о присвоении имен Cake PHP стремиться упростить написание кода и сделать его более читабельным. Если вы сможете добиться этого своим способом, замените наш.
Имя модели: Установите var $name в определение вашей модели.
Таблицы базы данных, относящиеся к моделям: установите var $useTable в определение вашей модели.
Контроллеры
Имена классов контроллеров в множественном числе.
Схема названий контроллеров та же что и моделей, только в конце добавляется окончание 'Controller'. (Примеры: People Controller, Monkeys Controller, Glass Doors Controller, Line Items Controller, Really Nifty Things Controller)
Имена файлов также как и у моделей, только с окончанием '_controller'. Так что если у вас есть Posts Controller, то имя его файла должно быть posts_controller.php (Примеры: people_controller.php, monkeys_controller.php, glass_doors_controller.php, line_items_controller.php, really_nifty_things_controller.php)
Для защищенной видимости, именам действий контроллера должны передавать '-'.
Для приватной видимости, именам действий контроллера должны передавать '--'.
Отображения
Отображения называются как действие, которое они отображают.
Имя файла отображения такое же как имя действия, в нижнем регистре. (Примеры: People Controller::worldPeace() ожидает отображения /app/views/people/world_peace.thtml; Monkeys Controller::banana() ожидает отображения /app/views/monkeys/banana.thtml.)
Вы можете заставить действие рендерить определенное отображение вызвав $this->render('name_of_view_file_without_dot_thtml'); в конце действия.
Хелперы
Имя класса хелперов – каждое слово в имени с большой буквы, окончание Helper, имя файла с подчеркиванием. (Примеры: class My Helper Helper это хелпер /app/views/helpers/my_helper.php.)
Включается в контроллере масивом $helpers=array('Html','MyHelper'); в отображении доступен с $myHelper->method().
Компоненты
Имя класса компонента такое же как у хелперов, но окончание Component, имя файла с подчеркиванием. (Пример: класс My Component Component расширяет объект в /app/controllers/components/my_component.php.)
Включается в контроллер с $components =array('MyComponent'); в контроллере доступен с $this->My Component->method().
Вендоры
Вендоры не следуют никакому соглашению по очевидным причинам: они третьестепенные части кода, у Cake нет контроля над ними.