このコントローラーというものは、Webアプリケーションの中で一体どういうものを作ることになるのでしょうか。コントローラーは、「いくつかの
アクションをひとまとめにして管理し処理するもの」です。
「
アクション」というのは、これはとりあえず「Webページ」のことだ、と考えておきましょう。つまり、コントローラーとは、複数のページをアクションという形でまとめて管理する働きをするものなのです。
例えば、簡単なデータを管理するWebアプリを考えてみましょう。データを追加したり削除したり、編集したり、検索をしたりといったさまざまなページを用意することになるでしょう。コントローラーは、これらをひとまとめにして管理します。つまり「〇〇データ」というようなコントローラーを作成し、そこにそれぞれの操作に対応するアクションを作っていけばいいわけです。
CakePHPでは、コントローラーのアクションは、アドレスで明確に指定することができます。これらは、以下のようにアドレスが割り当てられるのです。
http://ドメイン/CakePHPのディレクトリ/アプリケーション/アクション
■コントローラークラスの定義
では、コントローラーはどのような形で作られるのか。これは「クラス」として定義されるのです。コントローラーのクラスは、以下のような形で記述されます。
<?php
App::uses('AppController', 'Controller');
class コントローラー名 extends AppController {
public function アクション名() {
……ここに処理を書く……
}
}
最初にある「
App::uses」というのは、CakePHPに用意されているライブラリをロードするためのものです。CakePHPではさまざまな機能が用意されていますが、それらを利用する場合にこれを使います。書き方は以下の通りです。
App::uses( クラス名 , パッケージ名 );
コントローラークラスは、
Controllerパッケージにある「
AppController」というクラスを継承して作成します。このため、まず最初に
App:usesでこのクラスを使えるようにしておきます。
クラスには、アクションがそれぞれメソッドとして用意されます。一般に「
アクションメソッド」と呼ばれます(そのまんまやん……)。このアクションメソッドを用意するだけで、そのアクションが使えるようになります。他に設定などは不要です。
CakePHPでページを用意するということは、まずこの「アクションメソッドを定義する」ことだ、と考えてください。