k01ken’s b10g

He110 W0r1d!

CakePHP3で共通する処理をまとめる

開発環境は、Windows 7 Professional(32bit)+XAMPP v3.22+CakePHP 3.5.8。

コントローラ、モデル、ビューで共通して使えるクラスの作り方を調べました。

1.srcディレクトリ内に、任意の名前のディレクトリ(今回は、Utilsディレクトリ)を作成する。
2.Utilsディレクトリ内に、任意の名前のphpファイル(今回は、AppUtility.php)を作成する。

<?php

namespace App\Utils;

class AppUtility{

	public static function message(){
		return "message";
        }
}

?>

3.composerをupdateする。
composer dump-autoload
コマンドを入力する。これによって、AppUtility.phpファイルが自動的に読み込まれるようになる。
4.作成したクラスの使い方
コントローラ/モデルで使う場合

<?php
# namespace下のuseを記述している部分に追加
use App\Utils\AppUtility;

# コントローラ内の使いたい場所で
echo AppUtility::message();
?>

ビューで使う場合

<?php echo App\Utils\AppUtility::message(); ?>

参考リンク
CakePHP3で共通関数を作る方法 - Qiita
・参考になったんですが、この人はビューの記述の仕方が間違えていました。
おかげで、うまく動作させるまでに時間がかかりました。
1回動作確認してから、ソースコードを貼り付けてほしいものです。