Определите иерархию классов моделей в CakePHP - PullRequest
4 голосов
/ 23 сентября 2011

По умолчанию CakePHP имеет класс AppModel, и каждая модель приложения наследуется от него.Общий шаблон проектирования для совместного использования логики между моделями заключается в создании поведения и настройке модели на $actAs такое поведение.

Но что, если я хотел бы ввести иерархию классов моделей, подобную этой?:

AppModel
  |__ Vehicle
        |__ Car
        |__ Bike
        |__ Helicopter

Я попытался создать класс Vehicle, который наследуется от AppModel, а затем каждый дочерний класс наследует от Vehicle.Но CakePHP сообщает, что не может найти класс Vehicle.

Как я могу это сделать и где в дереве каталогов CakePHP мне следует создать Vehicle?

Спасибо!

1 Ответ

6 голосов
/ 24 сентября 2011

это не должно быть проблемой, поэтому вам нужно только убедиться, что app :: import () «родительская модель», прежде чем объявить ее.или что вы сделали, что модель не может быть найдена?

Если я делаю что-то подобное, я использую lib в качестве своего "транспортного средства", это не обязательно должна быть модель в каталоге моделей

например, App :: import ('Lib', 'Vehicle');

Автомобиль расширяет AppModel

Автомобиль расширяет Vehicle

...