ヘルパーファイルの作成


configuration

 悩み事

色々な処理で利用できる機能をまとめたファイル等を設置したいが、
app\start\global.phpに追記してソースを汚したくない

 解決方法

helpers.phpとしてファイルを作成してみましょう
ファイル名はなんでも構いませんが、ここではhelpers.phpとしています

まずapp/helpers.phpを作成します

<?php
// common functions
function somethingOrOther()
{
    return (mt_rand(1,2) == 1) ? 'something' : 'other';
}

次にapp\start\global.php のどこかにrequireを記述します

// どこかに
require app_path().'/helpers.php';

または composer.json に下記の様に追記して、composer dump-autoloadを実行します

{
    "autoload": {
        "files": [
            "app/helpers.php"
        ]
    }
}
$ composer dump-auto

 アドバイス

用途や種類別に複数のヘルパーファイルを作成しても構いません

Laravelはapp/filters.php, app/routes.phpを標準で持っています
ニーズに合わせて柔軟に対応できます

下記の様に持たせる事が可能です

  • app/helpers.php - 汎用的な関数郡
  • app/composers.php - view composerに関連するもの
  • app/listeners.php - イベントリスナー
  • app/observers.php - 必要であれば observers として作成しても良いかもしれません

実装や、構成は開発者次第で自由に作る事が出来ます

ファイルをあまり増やしたくない?

ヘルパーとして作成しましたが、
上記のファイル等はサービスプロバイダーに設置する事も出来ます


Author:Chuck Heintzelman

Editor and Translator:Yuuki Takezawa