Cakephp PHP WEB開発

【Cakephp4】モデルに定義している定数をビューで読み込む

※本サイトはPR表記を含みます。

Cakephp4では、「どこに定数を定義するのか?」というのは諸説ありますが、本記事はモデルテーブルに定数を定義した上で、それをビューにロードするという方法です。

モデルテーブルに定数を定義する

<?php
declare(strict_types=1);

namespace App\Model\Table;

use Cake\ORM\Table;

class HogesTable extends Table
{
    /**
    * ステータスの定数
    *
    * @var array
    */
    public const STATUS = 1;
}

シンプルに定数の STATUS(ステータス)に対し 1 を定義しました。

次はビューに定数をロードします。

ビュー(テンプレート)にて、定数をロードする

use App\Model\Table\HogesTable;

debug(HogesTable::STATUS);
exit;

// 出力結果: 1

冒頭でもお話したように、Cakephp は定数ファイルを configディレクトリ 以下に定義することも可能ですし、モデルテーブルごとに定義することも可能です。

定数の数が多く、各モデルごとに切り分ける方が管理の見通しがよくなりそうなら、モデルテーブルごとに定義するほうがいいかもしれませんね。(観点によりますが)

 

-Cakephp, PHP, WEB開発
-