CakePHP ведет себя как mixins . Они добавляют методы в модель, что вы и ищете.
Звучит так, будто динамическое присоединение поведения к модели даст вам нужный вам результат.
Глядя на Model::__construct()
, я вижу, что он вызывает $this->Behaviors->init($this->alias, $this->actsAs);
.
Возможно, вам удастся вызвать его снова после создания экземпляра модели, чтобы присоединить различные варианты поведения (например, $this->MyModel->Behaviors->init('MyModel', array('MyBehavior'));
).
На самом деле, более пристальный взгляд показывает, что $this->MyModel->Behaviors
является экземпляром BehaviorCollection
. Таким образом, вы можете использовать метод attach () .