我正在尝试为多个模型构建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)当我应该为每个模型复制这个基本控制器时,我是否过度使用这个东西?
答案 0 :(得分:3)
我认为你最好的选择是:
https://github.com/FriendsOfCake/crud
“使用类固醇的CakePHP应用程序开发 - 快速原型制作/脚手架和生产就绪代码 - JSON API等等”