サーチ…


前書き

カスタムヘルパーを追加することで、開発スピードを向上させることができます。そのようなヘルパー関数を書くときに考慮すべきことがいくつかあります。したがって、このチュートリアルです。

備考

ちょっとした指針:

  • サービスプロバイダが2回呼び出されたときの例外を防ぐために、関数定義をチェック( function_exists )に入れました。
  • 代わりの方法は、 composer.jsonファイルからヘルパーファイルを登録することです。 laravelフレームワーク自体からロジックをコピーすることができます。

document.php

<?php

if (!function_exists('document')) {
    function document($text = '') {
        return $text;
    }
}

helpers.phpファイルを作成し、 app/Helpers/document.phpすると仮定しましょう。あなたは1つのファイルに多くのヘルパーを置くことができます(これがLaravelのやり方です)、名前で分割することもできます。

HelpersServiceProvider.php

次に、サービスプロバイダを作成しましょう。 app/Providers下に置いてみましょう:

<?php

namespace App\Providers;

class HelpersServiceProvider extends ServiceProvider
{
    public function register()
    {
        require_once __DIR__ . '/../Helpers/document.php';
    }
}

上記のサービスプロバイダはヘルパーファイルを読み込み、カスタム関数を自動的に登録します。 providers下のconfig/app.phpこのHelpersServiceProviderを登録してください:

'providers' => [
     // [..] other providers
     App\Providers\HelpersServiceProvider::class,
]

つかいます

これで、関数document()コード内のどこでも、たとえばブレードテンプレートで使用できます。この例では、引数として受け取ったのと同じ文字列のみを返します

<?php
Route::get('document/{text}', function($text) { 
    return document($text);
});

今度はブラウザの/document/fooに行きます( php artisan serveまたはvalet使用してください)。これはfooを返します。



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow