Я только начал создавать простую веб-приложение с помощью cakePHP и задавался вопросом, могу ли я избежать дублирования кода в своих действиях. У меня есть две модели и соответствующие контроллеры оба содержат одни и те же действия (индекс, просматривать, добавлять, редактировать, удалять) с минимально другим кодом, например:CakePHP: избегайте дублирования кода в действиях контроллера
контроллер Transaction
public function add() {
if ($this->request->is('post')) {
$this->Transaction->create();
if ($this->Transaction->save($this->request->data)) {
$this->Session->setFlash(__('The transaction has been saved.'));
return $this->redirect(array('action' => 'index'));
} else {
$this->Session->setFlash(__('The transaction could not be saved. Please, try again.'));
}
}
}
Второй контроллер будет иметь то же действие add()
, только для другой модели (т.е. заменить transaction
, например, trades
).
Итак, есть ли способ избежать такого рода дублирования кода?
Очень верно ... оставьте это ему ... – Anubhav