ホームページ  >  記事  >  PHPフレームワーク  >  Laravel には独自のヘルパー関数がどのように組み込まれていますか?

Laravel には独自のヘルパー関数がどのように組み込まれていますか?

Guanhui
Guanhui転載
2020-06-24 18:00:392889ブラウズ

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 を開いて、HelperServiceProviderAppServiceProvider

...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 サイトの他の関連記事を参照してください。

声明:
この記事はlearnku.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。