【问题标题】:Controller specific functions in cakePHPcakePHP 中的控制器特定功能
【发布时间】:2012-12-05 06:56:33
【问题描述】:

我的一个控制器中有一段代码,用于调用每个操作以及随后的每个视图的数据。与其在每个动作中重复这段代码,在 cakePHP 中创建控制器范围函数的最佳方法是什么?或者什么是最佳做法?

示例控制器:

function get_data($location) {
   $orders = $this->Post->find('all',array('conditions' => array('Post.field' => $location));
   return $orders;
}

//actual view
function index() {
   get_data(waiting);
   //etc. etc.
}

//actual view
function view_1() {
   get_data(view_1);
   //etc. etc.
}

【问题讨论】:

    标签: php model-view-controller cakephp


    【解决方案1】:

    答案似乎是本文所述的胖模型、瘦控制器方法。 http://www.sanisoft.com/blog/2010/05/31/cakephp-fat-models-and-skinny-controllers/

    您可以在模型中声明public function custom_function ($data),并通过$this->Model->custom_function($data);在控制器中访问它们

    【讨论】:

    • 检索数据是模型的工作!好文章顺便说一句,+1
    【解决方案2】:

    您可以使用其中的一些操作:

    beforFilter:在控制器动作之前调用

    afterFilter:在控制器动作运行和渲染后调用。

    beforeRender:在控制器动作运行之后,视图渲染之前调用。

    【讨论】:

      猜你喜欢
      • 2013-04-13
      • 1970-01-01
      • 2012-06-06
      • 1970-01-01
      • 2014-03-15
      • 1970-01-01
      • 2013-05-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多