2011-06-17 16 views
0

コントローラの1つに、それぞれのアクションとその後の各ビューのデータを呼び出すためのコードがあります。このコードを各アクションに繰り返すのではなく、cakePHPにコントローラワイド関数を作成する最良の方法は何ですか?またはベストプラクティスは何ですか?cakePHPのコントローラ特有の機能

例コントローラ:

beforFilter:コントローラのアクションの前に呼び出され

afterFilter:コントローラのアクションが実行され、レンダリングされた後に呼び出され

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. 
} 

答えて

2

答えは、この記事で概説したように、太ったモデル、スキニーコントローラアプローチのようです。 http://www.sanisoft.com/blog/2010/05/31/cakephp-fat-models-and-skinny-controllers/

あなたがモデルでpublic function custom_function ($data)を宣言し、$this->Model->custom_function($data);

+0

は、データを取得することで、コントローラでそれらにアクセスすることができ、モデルのための仕事です!良い記事btw、+1 –

0

あなたはこのアクションの一部を使用することができます。

beforeRender:コントローラのアクションが実行された後、ビューがレンダリングされる前に呼び出されます。

関連する問題