0

複数のモデル用の RESTful API を構築しようとしています。

私はこれを見つけました:

class RecipesController extends AppController {

public $components = array('RequestHandler');

public function index() {
    $recipes = $this->Recipe->find('all');
    $this->set(array(
        'recipes' => $recipes,
        '_serialize' => array('recipes')
    ));
}

public function view($id) {
    $recipe = $this->Recipe->findById($id);
    $this->set(array(
        'recipe' => $recipe,
        '_serialize' => array('recipe')
    ));
}

public function edit($id) {
    $this->Recipe->id = $id;
    if ($this->Recipe->save($this->request->data)) {
        $message = 'Saved';
    } else {
        $message = 'Error';
    }
    $this->set(array(
        'message' => $message,
        '_serialize' => array('message')
    ));
}

public function delete($id) {
    if ($this->Recipe->delete($id)) {
        $message = 'Deleted';
    } else {
        $message = 'Error';
    }
    $this->set(array(
        'message' => $message,
        '_serialize' => array('message')
    ));
}
}

ただし、作成する必要がある各コントローラーでこれらすべてのメソッドが重複しないようにしています。各コントローラーに含めることができるすべての CRUD 操作を実行するコンポーネントを探していました。

1) そのようなコンポーネントは存在しますか? 2) モデルごとにこの基本的なコントローラーを複製する必要がある場合、これはやり過ぎですか?

4

1 に答える 1