CakePHP Note (v1.3) > コントローラー

コントローラー

コントローラはデータを追加、表示、編集、削除などのようなアプリケーションに必要なロジックをアクションとして記述し、app/controllers/に配置します。アクションでは通常はモデルを通じてデータの取得、追加、更新、削除を行ないます。

class PostsController extends AppController {

    function index()     {
        //一覧表示のためのロジック
    }

    function view($id = null)     {
        //詳細表示のためのロジック
    }
 
    function add() {
        //追加のためのロジック
    }
 
    function edit($id = null) {
        //編集のためのロジック
    }

    function delete($id = null) {
        //削除のためのロジック
    }
}

データ追加のサンプル

コントローラのプログラムコードです。このコードはbakeによって生成された一部です。

class PostsController extends AppController {

	var $name = 'Posts';
	var $helpers = array('Html', 'Form');

	function add() {
		if (!empty($this->data)) {
                        //フォームから送信されたデータを受け取ったらデータを保存する
			$this->Post->create();
			if ($this->Post->save($this->data)) {
				$this->Session->setFlash(__('The Post has been saved', true));
				$this->redirect(array('action'=>'index'));
			} else {
				$this->Session->setFlash(__('The Post could not be saved. Please, try again.', true));
			}
		}
                //フォームから送信されたデータがなければフォームを表示する
	}
}

CakePHP Note (v1.3)

Index