備忘録

webの備忘録のために

CakePHP3 変数とメソッド

今回は前回のHelloControllerの中身の説明を。

サンプルコード

<?php
namespace App\Controller;

class HelloController extends AppController {
    public $name = "Hello";
    public $autoRender = false;
    public function index(){
        echo "Hello World";
    }
}

名前空間

→ namespace App\Controller;

まず名前空間を設置。CakePHPではクラス類に関しては全て特定の名前空間に配置される。 この名前空間は、クラスの種類によって「どの名前空間に配置するか」が決まっている。 コントローラクラスの場合は、App\Controllerという名前空間に配置しないといけない。

メンバ変数を設定

→ public $name = "Hello";

最初に$nameというメンバ変数に値を設定。 デフォルトでコントローラ名が設定されるようになっているっため、明示的に設定なくても問題は起きない。 ただし$nameに名前を保管しておくといのはコントローラクラスの基本

ビューの自動レンタリング

→ public $autoRender = false;

CakePHPでは、ビューテンプレートと、それを組み合わせるレイアウトというものを使ってページを構成。 ビュー関係のオブジェクトを使って自動的にレンダリングする機能に関する設定が「$autoRender」。 デフォルトはtrueに設定されてる。falseに設定しておかないと、勝手にビューテンプレートを探すためエラーを起こす。

indexメソッド

ファイル名が省略された場合のアクセスを行った時にはデフォルトで呼び出されるページの処理をしたのがindexメソッド。