使用CakePHP,我发现我在控制器操作之间复制了一些代码。我有十几个动作(属于各种控制器),它们都需要运行相同的查询和set()
相同的10个变量,以便在特定的布局中使用。他们还需要以相同的方式处理任何错误并呈现错误页面。
我知道组件旨在集中控制器之间使用的逻辑,但在我的情况下,此逻辑需要访问控制器的set()
和render()
方法。这种情况的建议方法是什么?
谢谢,Brian
答案 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();
}
}