Нет, нет. Cake не имеет значения, как вы называете свои таблицы, если вы придерживаетесь правил именования Cake. Он генерирует схемы, которые он использует для методов магической модели, при первой загрузке модели / моделей контроллером; вам не нужно поднимать палец. Смотри http://book.cakephp.org/view/903/Model-and-Database-Conventions
Лучший совет: не борись с Тортом по этому поводу. Если вы действительно не можете придерживаться правил Cake, вы также можете не использовать Cake; это глупо сложно, сбивает с толку и добивается успеха просто означает, что вы потеряли большую часть тяжелых способностей Cake. Множественное использование имен ваших таблиц не так уж и плохо, и Cake будет счастлив.
Эта функция уже доступна в версии 1.3 - назовите ваши таблицы так, как вам удобно (если они состоят из нескольких слов).
- Вам, вероятно, будет полезно проверить приложения для выпечки в консоли, чтобы вы могли ознакомиться с тем, что Cake хочет увидеть и как он работает на разных схемах стола.
Изменить после уточнения:
Все ваши модели, контроллеры и каталоги представлений имеют общее имя, например:
// in /app/models/rate.php
class Rate extends AppModel {
var $name = 'Rate';
// in /app/controllers/rates_controller.php -- note the underscore
class RatesController extends AppController {
// controllers are capitalized + plural
var $name = 'Rates';
// в /app/views/rates/*.ctp - Волшебный autoRender Cake ожидает найти файл вида с
// то же имя, что и действие, выполняющее его - представление для Rates :: index () - index.ctp
Все ваши модели расширяют класс AppModel торта (который расширяет класс Model торта), префикс не требуется. Все контроллеры будут расширять класс AppController от Cake - к имени класса добавляется суффикс Controller, а к имени файла - _Controller.
Вы оштрафуете AppModel и AppController в / app, и они существуют явно для любых пользовательских методов / свойств для всего приложения, которые у вас могут быть. Поскольку все ваши модели / контроллеры расширяют их, наследование автоматически распределяет любые свойства / методы, которые вы в них помещаете, например, Auth. ^ _ ^
Но вы все равно можете назвать таблицу «Модели», «Контроллеры», «Представления» или что-то еще, я думаю. Свойство $ name является псевдонимом; Вы можете создать несколько экземпляров одной и той же таблицы в одной модели, присвоив ей псевдоним с другим именем. Вы можете создавать модели без таблиц и переключаться между несколькими таблицами - или базами данных, или серверами - в одной модели. Вы также можете создавать объекты данных не типа базы данных (например, плоские XML-файлы) для ваших моделей. Динамически именуемые классы / методы ($$ Model :: save () и т. Д.) - это то, что работает в любом случае. Я сделал что-то похожее в итерациях ради сушки моего приложения, и у меня не было проблем. (Хотя я лично сомневаюсь, что на самом деле создание локальной модели с именем Model стоило бы усилий, которые вы вложили в эксперимент ...)
И на этой ноте API Cake описывает все его классы, их методы и т. Д. (Генерирует комментарии в кодовой базе):
http://api13.cakephp.org/classes
НТН. : D