我正在开发一个CakePHP项目,并且我意识到很多我的控制器具有几乎相同的代码。我决定我应该尝试做一个排序“BaseController”,并具有其他控制器扩展是......是这样的:扩展常见功能的控制器
class BaseController extends AppController {
public $components = array(
'RequestHandler'
);
public function get($param = "all", $value = "") {
$this->layout = 'ajax';
if($param == "all") {
$data = $this->Base->find('all');
} elseif ($param == "id") {
$data = $this->Base->findById($value);
} else {
...
}
}
...
}
但在这一点上,我迷路了。我做不是想要有一个基础数据库表和模型...我只是想要的东西,所以不必写几乎相同的get()
方法十几次......并让我说我做了一个控制器“FooController “这扩展了这个控制器......我该如何使get()
现在与Foo模型/表交互?
我认为有一个Cake的方法来做到这一点,而不是有吨的重复代码......但我一直没能找到它。
使用组件 – 2014-11-02 01:54:37
Hi @ mcgowan.b,我正在查看组件的[documentation](http://book.cakephp.org/2.0/en/controllers/components.html)。我没有看到一种方式,我可以使用它与各种模型的数据库,我错过了什么? – smerny 2014-11-02 17:46:05
手册中提到“组件是控制器之间共享的逻辑包,这是您希望实现的功能,以及所有控制器中可用的常见功能。 [手动](http://book.cakephp.org/2.0/en/controllers/components.html) – 2014-11-02 20:25:02