いろんなところからコールしたい汎用関数の置き場はどこが良いのか調べると
composer.jsonに登録して、オートローダーに反映して・・・と面倒な方法がでてくるけど
そんなことはやらずに、とりあえずシンプルに実装する方法
1.汎用関数置き場のフォルダを作成
\app配下にLibrariesというフォルダを作成
※フォルダ名はなんでもOKです。
2.汎用関数作成
Common.phpというファイルを新規作成し、汎用関数を作成
例)2倍の値を返してくれる関数を作成
<?php
namespace App\Libraries;
class Common
{
public static function squared($val)
{
return $val * 2;
}
}
?>
3.コール元のコントローラーにuse定義
use App\Libraries\Common;
4.コールしたい場所で以下を記述
$ret = Common::squared($val);
viewで使いたい場合
ファイルの頭で以下を定義
@inject('common', 'App\Libraries\Common')
・
・
・
使いたいところで
$common::squared($val)
これだけのことで済むのに
どうして難しく説明するのだろう??
僕が気付いてないメリットがあるのかもしれないけど
フレームワークを使わされてない??って気がしないでもない(笑)