CakePHP - 集中控制器逻辑

时间:2011-10-05 20:09:19

标签: cakephp controller

使用CakePHP,我发现我在控制器操作之间复制了一些代码。我有十几个动作(属于各种控制器),它们都需要运行相同的查询和set()相同的10个变量,以便在特定的布局中使用。他们还需要以相同的方式处理任何错误并呈现错误页面。

我知道组件旨在集中控制器之间使用的逻辑,但在我的情况下,此逻辑需要访问控制器的set()render()方法。这种情况的建议方法是什么?

谢谢,Brian

2 个答案:

答案 0 :(得分:0)

将逻辑放在你的控制器应该扩展的AppController类中。

查看文档:{​​{3}}

答案 1 :(得分:0)

结束了我自己的业务逻辑层。以下示例。欢迎思考/评论。

class MyController extends AppController {

  public function my_action() {

     //  The BLL class is specific for this action and gets the entire 
     //  controller so has access to the set() method as well as components.
     $this->Bll = new MyActionLogic($this);
     $this->Bll->do_whatever();
  }
}