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回動作確認してから、ソースコードを貼り付けてほしいものです。