templateで利用する関数を作る【CakePHP4】

概要

CakePHPではControllerで利用する関数については、Componentを利用すれば簡単にできます。

しかし、ここで定義した関数はtemplateからは利用できません。

templateで利用する関数を作成するには、src/Viewを利用します。

今回は、この方法について解説していきます。

コード

関数の定義

src/View/Helper/ViewFunctionsHelper.php ※新規作成する

<?php
namespace App\View\Helper;

use Cake\View\Helper;

class ViewFunctionsHelper extends Helper
{
    public function sayHello()
    {
        return "hello";
    }
}

src/view/AppView.php

<?php
namespace App\View;

use Cake\View\View;

class AppView extends View
{
    public function initialize(): void
    {
        //下記を追記する
        $this->loadHelper('ViewFunctions');
    }
}

関数の利用

先述と同様ですが、以下のように利用可能です。

templates/Samples/index.php

<?php
$this->ViewFunctions->sayHello();

参考

Cakephp公式:ヘルパー

コメント

タイトルとURLをコピーしました