Laravelに開発者が定義する共通関数で構成されるクラスを追加する
新しいclassを追加
Laravelで共通関数を定義して利用する方法です。
新しくclassを追加して、そのclassに共通関数をコーディングしていきます。
app/lib/Common.php
を作成して、このファイルにオリジナルの関数を追加していきます。
namespace app\lib; class Common { public static function random_slug($num = 6) { $parts = 'abcefghijklmnopqrstuvwxyz1234567890'; return substr(str_shuffle($parts), 0, $num); } }
Commonクラスを定義し、その中に共通関数を追加していきます。上のコードでは、
random_slug()
というオリジナルの関数を定義しました。
composerでclassmapを追加
composer.jsonでclassmapに
app/lib
を追加します。
"autoload": { "classmap": [ "app/commands", "app/controllers", "app/models", "app/database/migrations", "app/database/seeds", "app/tests/TestCase.php", "app/lib" ] },
追加したら、
composer dump-autoload
を実行します。
app.phpでClass Aliasesを追加
Commonクラスがロード可能な状態になったので、プロジェクト側でロードします。
app/config/app.php
で定義されている
Class Aliases
の配列内に一行追加します。
'Common' => 'app\lib\Common',
ここまでの作業でCommonクラスが利用可能な状態になりました。
共通関数の利用
共通関数を使う際には、ControllerやViewで
クラス名::関数名
の書式でコールします。
var_dump(Common::random_slug(6));
今回の場合は、上のように書くことでrandom_slug()を使うことが可能で、アプリケーションの任意の場所で6文字のランダムな文字列を生成することが出来るようになります。