libro
www.tuyano.com
初心者のためのCakePHP3 プログラミング入門

コントローラーとビュー (1/6)

作成:2015-08-29 09:59
更新:2015-08-29 09:59

■ビューとテンプレート

前回、コントローラーを使って簡単な画面表示をさせてみました。が、CakePHPでは、こういうやり方をすることはまずありません。画面表示のためのテンプレートをあらかじめ用意しておき、それをロードして表示するのが基本です。

MVCでは、画面表示周りの処理は「ビュー(View)」と呼ばれます。プロジェクトの「src」フォルダを見ると、「View」というフォルダが用意されていることがわかるでしょう。この中に、AppView.phpというファイルが用意されています。これがビューの処理を行うものです。

「じゃあ、ここに画面表示のテンプレートなどを作って入れておけばいいのか」と思った人。いえいえ、それは違います。CakePHP3では、ビューは「ビューの処理を行う部分」と「表示するテンプレート」にわかれています。「View」に用意されているのは、ビューの処理に関するプログラムなのです。

このAppView.phpを開くと、下のリスト欄のような処理が記述されていることがわかります(コメントは省略)。AppViewは、Viewクラスを継承したもので、これの初期化処理のためのメソッドなどが用意されています。といっても、何も具体的な処理はありませんが……。

では、実際に画面に表示されるものはどこにあるのか? それは、「src」フォルダ内の「Template」フォルダです。

このフォルダを開くと、この中にいくつものフォルダが用意されていることがわかります。テンプレートは、それぞれのアプリケーションごとに(あるいは特定の用途ごとに)フォルダを用意し、そこに必要なテンプレートを用意します。

例えば、前回、サンプルに作成したHeloアプリケーションを考えてみましょう。HeloControllerというコントローラーを作成し、そこにindexメソッドを用意していましたね? これのビューテンプレートは、「Template」フォルダ内に「Helo」というフォルダを作成し、その中に「index.ctp」という名前で用意することになります。

テンプレートのファイルは「ctp」という拡張子のファイルとして作成します。これは、何か特殊な言語で書かれているわけではなくて、中身はごく普通のHTMLとPHPになります。


※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

namespace App\View;

use Cake\View\View;

class AppView extends View
{

    public function initialize()
    {
    }
}
※関連コンテンツ

「初心者のためのCakePHP3 プログラミング入門」に戻る