[CakePHP] コントローラ

タグ :

CakePHPの基礎をまとめるシリーズです。
今回はMVCのコントローラについてです。
コントローラにはアプリケーションのシステム処理を記述するなど、プログラマが最もよく使用するファイルとなります。

コントローラの仕組み

コントローラは、前述「基礎(構造1)」の画像を見ても分かるように、様々な処理を行う最も重要な部分です。
これがないとそもそもページそのものが存在できません。

コントローラは、CakePHPの「app」フォルダの中にある「Controller」というフォルダの中に作成にします。
ここにPHPのスクリプトファイルを用意しておくと、自動的にそれらをコントローラのスクリプトだと認識してくれます。

ここで注意しなければならないのが、「決められた形でファイル名を付けないといけない」ということです。
CakePHPは命名規則を非常に重視しており、名前を元にコントローラの名前などを割り出すので、適当な名前を付けると認識してくれません。
コントローラのスクリプトファイル名は、以下のように付けます。

アプリケーション名Controller.php

アプリケーション名は、URLへ記述するページのスラッグ名とするのがデフォルトです。
大文字小文字まできっちりと同じ名前でないとダメです。

CakePHPでは、ファイル名やクラス名などは「キャメル記法」を採用しています。
以下のような表記となります。

sample + controller ⇒ SampleController

コントローラとアクション

コントローラは、Webの複数ページを「アクション」という形でまとめて管理する働きをするものです。

例えば、簡単なデータを管理するWebアプリケーションの場合、データを追加、削除、編集、検索するといったさまざまなページを用意する必要があります。
コントローラは、これらをひとまとめにして管理します。

CakePHPでは、コントローラのアクションはアドレスで明確に指定することができます。

http://(ドメイン)/(CakePHPのディレクトリ)/(アプリケーション)/(アクション)

コントローラクラスの定義

コントローラは「クラス」として定義されます。
コントローラの主な記述は以下になります。

<?php
App::uses('AppController', 'Controller');
class コントローラ名 extends AppController {
   public function アクション名() {
      	・・・ここに処理を書く・・・
   }
}

最初にある「App::uses」というのは、CakePHPに用意されているライブラリをロードするためのものです。
CakePHPではさまざまな機能が用意されているが、それらを利用する場合にこれを使います。
書き方は以下になります。

App::uses( クラス名, パッケージ名 );

コントローラクラスは、Controllerパッケージにある「AppController」というクラスを継承して作成します。

クラスには、アクションがそれぞれメソッドとして用意され、一般に「アクションメソッド」と呼ばれます。
このアクションメソッドを用意するだけで、そのアクションが使えるようになります。

Share

  • このエントリーをはてなブックマークに追加

Comment

コメントを残す

*がついている欄は必須項目です。

  • Twitter
  • Facebook
  • Google Plus
  • RSS Feed