Я только начал создавать простое веб-приложение с cakePHP и задавался вопросом, смогу ли я избежать дублирования кода в своих действиях. У меня есть две модели, и соответствующие контроллеры содержат одни и те же действия (индекс, просмотр, добавление, редактирование, удаление) с незначительно разным кодом, например:
Контроллер транзакций
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
).
Так есть ли способ избежать такого дублирования кода?