ホームページ >PHPフレームワーク >Laravel >Laravel には独自のヘルパー関数がどのように組み込まれていますか?
#多くのチュートリアルでは、自動的に読み込まれるファイルを composer.json
ファイルに追加することでこの要件を達成できると述べています。しかし、これは良い方法ではないと思います。 helpers.php
ファイルに関数を追加すると、可読性が低下します。
以下では、さまざまな関数を含む多数のファイルを定義できる方法を紹介します。これにより、プログラムがよりクリーンで読みやすくなります。
始めましょう
まず、HelperServiceProvider.php サービス プロバイダー ファイルを作成します。
php artisan make:provider HelperServiceProvider
上記のコマンドを使用すると、 になります。 app \Providers
ファイル HelperServiceProvider.php
で生成された boot()
メソッドは単純に削除できますが、ここでは使用しません。
register()
メソッドに次のコードを追加します。
public function register(){ foreach (glob(app_path('Helpers') . '/*.php') as $file) { require_once $file; }}
このループは、app/Helpers
ディレクトリ内のすべてのファイルを走査します。 , ご想像のとおり、このディレクトリに任意のファイルを作成すると、それらのファイルがアプリケーションに読み込まれるようになります。これらのヘルパー関数は、コード内のどこからでもアクセスできるようになります (ビュー、モデル、コントローラーなど)
また、このサービス プロバイダーをロードし、config/app.php
を開いて、HelperServiceProvider
を AppServiceProvider
...App\Providers\HelperServiceProvider::class,App\Providers\AppServiceProvider::class,App\Providers\AuthServiceProvider::class,App\Providers\BroadcastServiceProvider::class,...
の上に置く必要があります。次に、単純な関数を作成し、次のコードを含む Carbon.php
ファイルを app/Helpers
ディレクトリに作成します。
<?php/** * Carbon helper * * @param $time * @param $tz * * @return Carbon\Carbon */function carbon($time = null, $tz = null){ return new \Carbon\Carbon($time, $tz);}
コマンドスペースを追加します。必要に応じて、function_exists
を使用して、この関数が存在するかどうかを検出できます。
これで、アプリケーションのどこでもヘルパー関数 carbon()
を使用できるようになります。ここで、特定の形式を返す別の関数が必要な場合 (このチュートリアルの使用例のみ)、その関数を同じファイル (Carbon.php) に入力できます。これで、頻繁に使用するヘルパーを含む独自の PHP ファイルを app/Helpers ディレクトリに追加できるようになります。
注: 私はオランダ人であり、英語は私の母国語ではないことに注意してください。 , したがって、この記事には文法上の誤りが含まれている可能性があります。Laravel チュートリアル推奨チュートリアル: 「
以上がLaravel には独自のヘルパー関数がどのように組み込まれていますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。