コントローラー(Controller)を利用する (1/5)
作成:2015-08-22 09:49
更新:2015-08-22 09:49
更新:2015-08-22 09:49
■Controllerクラスを作成する
では、実際にCakePHP 3でプログラミングをしてみることにしましょう。CakePHPは、「MVCアーキテクチャー」にもとづいて設計されています。これらは、それぞれ「モデル(データアクセス)」「ビュー(画面表示)」「コントローラー(制御)」の略です。
これらのうち、まず最初に覚えておきたいのが「コントローラー」でしょう。コントローラーは、プログラムをコントロールするためのものです。CakePHPでは、このコントローラーというものを作成し、そこからビューをロードし、モデルを使ってデータアクセスをしてWebページを作っていきます。コントローラーは全てを管理する立場にあり、コントローラーがなければ何もできないのです。
CakePHPを使ったプログラムは、「src」フォルダの中にまとめられています。この中にある「Controller」というフォルダが、コントローラーのためのフォルダです。コントローラーのプログラムは、すべてこの中に用意します。
では、コントローラーはどんな形になっているのでしょうか。コントローラーは、クラスとして定義をします。これは以下のような形になります。
コントローラーは、「AppController」というクラスを継承して作ります。このAppControllerは、実はプロジェクトの中に用意されています。「Controller」フォルダを開くと、「AppController.php」というファイルが見つかるでしょう。これがAppControllerクラスのプログラムです。このAppControllerは、「Controller」というクラスを継承して作られています。
コントローラーの名前空間は、App\Controllerを指定しておきます。コントローラーのスーパークラスであるControllerクラスがここに配置されていますので、同じ名前空間に用意しておくのが一般的です。
また、「AppController」のuse文だけ用意してありますね。このAppControllerを継承しているので、これは必須のuse文と考えたほうがいいでしょう。
このコントローラークラスには「アクション」と呼ばれるメソッドを用意します。アクションとは、特定のURLにアクセスした時に呼び出されるメソッドです。ここに、実際にWebページとして表示されるために必要な処理を用意します。
アクションは、引数も返値も持たないシンプルなメソッドです。コントローラーにメソッドを用意すると、そのメソッド名のURLにアクセスした際にそのメソッドが呼び出されるようになっています。
これらのうち、まず最初に覚えておきたいのが「コントローラー」でしょう。コントローラーは、プログラムをコントロールするためのものです。CakePHPでは、このコントローラーというものを作成し、そこからビューをロードし、モデルを使ってデータアクセスをしてWebページを作っていきます。コントローラーは全てを管理する立場にあり、コントローラーがなければ何もできないのです。
CakePHPを使ったプログラムは、「src」フォルダの中にまとめられています。この中にある「Controller」というフォルダが、コントローラーのためのフォルダです。コントローラーのプログラムは、すべてこの中に用意します。
では、コントローラーはどんな形になっているのでしょうか。コントローラーは、クラスとして定義をします。これは以下のような形になります。
<?php
namespace App\Controller;
use App\Controller\AppController;
class コントローラー名 extends AppController
{
……ここにアクションメソッドを用意する……
}
コントローラーは、「AppController」というクラスを継承して作ります。このAppControllerは、実はプロジェクトの中に用意されています。「Controller」フォルダを開くと、「AppController.php」というファイルが見つかるでしょう。これがAppControllerクラスのプログラムです。このAppControllerは、「Controller」というクラスを継承して作られています。
コントローラーの名前空間は、App\Controllerを指定しておきます。コントローラーのスーパークラスであるControllerクラスがここに配置されていますので、同じ名前空間に用意しておくのが一般的です。
また、「AppController」のuse文だけ用意してありますね。このAppControllerを継承しているので、これは必須のuse文と考えたほうがいいでしょう。
このコントローラークラスには「アクション」と呼ばれるメソッドを用意します。アクションとは、特定のURLにアクセスした時に呼び出されるメソッドです。ここに、実際にWebページとして表示されるために必要な処理を用意します。
アクションは、引数も返値も持たないシンプルなメソッドです。コントローラーにメソッドを用意すると、そのメソッド名のURLにアクセスした際にそのメソッドが呼び出されるようになっています。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
<?php namespace App\Controller; use App\Controller\AppController; class コントローラー名 extends AppController { ……ここにアクションメソッドを用意する…… }
※関連コンテンツ
「初心者のためのCakePHP3 プログラミング入門」に戻る