Laravel カスタム ヘルパー関数 – 簡単なヒント

Barbara Streisand
リリース: 2024-10-23 01:07:31
オリジナル
338 人が閲覧しました

ヘルパー関数は、Laravel 開発者の間で非常に人気があります。これらは、単一のステートメントを使用して、コード内ですぐに使用できるいくつかの賢いアルゴリズムへのアクセスを提供します。

おそらく最もよく知られているヘルパー関数は、内部アプリケーション URL を生成できる url() です。

もう 1 つの優れたヘルパーは retry() 関数です。例: https://laravel.com/docs/11.x/helpers#method-retry

例外が発生した場合にステートメントを一定回数再試行する簡単な方法。これは通常、外部 API 呼び出しで使用され、実際、最近 Laravel HTTP クライアントのメソッドとして統合されました。

$response = Http::retry(3, 100)->post(/* ... */);
ログイン後にコピー

HTTP クライアントの詳細については、専用記事をご覧ください: https://inspector.dev/laravel-http-client-overview-and-monitoring/

Laravelヘルパー関数の使用例

ビジネス ロジックに関連するタスクを自動化したい場合があり、それをヘルパー関数にカプセル化すると非常に便利です。このユースケースに最適な連想配列の array_map の実装について書きました。

この関数の目的については記事を参照してください。この文脈では、これを Laravel アプリケーション内で使用するカスタム ヘルパー関数にしたいと考えています。

新しいLaravelヘルパー関数を登録する方法

まず、Laravel プロジェクトの app/ ディレクトリに新しいファイル helper.php を作成します。

Laravel custom helper functions – Fast Tips

以下のコードを貼り付けて、array_map_assoc 関数をファイルに宣言します。

if (!function_exists('array_map_assoc')) {
    /**
     * Apply a mapping callback receiving key and value as arguments.
     * The standard array_map doesn't pass the key to the callback. But in the case of associative arrays,
     * it could be really helpful.
     *
     * array_map_assoc(function ($key, $value) {
     *  ...
     * }, $items)
     *
     * @param callable $callback
     * @param array $array
     * @return array
     */
    function array_map_assoc(callable $callback, array $array): array
    {
        // map original array keys, and call $callable with $key and $value.
        return array_map(function($key) use ($callback, $array){
            return $callback($key, $array[$key]);
        }, array_keys($array));
    }
}
ログイン後にコピー

ご覧のとおり、同じ名前の関数が登録されるのを避けるために、関数宣言は if でラップされています。

Composer の自動ロードを介してヘルパー ファイルをインクルードします。

Laravel はカスタム ヘルパー ファイルを自動的にロードしないため、自動ロード生成中にファイルを含めるように Composer に手動で指示する必要があります。

Laravel プロジェクトのcomposer.json ファイルで、「autoload」セクションを見つけて、「files」キーワードを追加します。

"autoload": {
    "psr-4": {
        "App\": "app/",
        "Database\Factories\": "database/factories/",
        "Database\Seeders\": "database/seeders/"
    },
    "files": [
        "app/helpers.php"
    ]
},
ログイン後にコピー

ファイルを追加した後、ターミナルで Composer dump-autoload を実行して Composer の自動ロード ファイルを更新します。

Laravel ヘルパー関数の使用

ヘルパーファイルがロードされると、他の PHP 関数と同様に、Laravel アプリケーションのどこでもカスタム関数を使用できます。

$histogram = array_map_assoc(function ($key, $value) {
    return [
        'label' => $key,
        'value' => $value['doc_count']
    ];
}, $data);
ログイン後にコピー

コードベースを整理しておくのに役立つことを願っています。

さらに技術的な記事については、Linkedin または X で私をフォローしてください。

PHP アプリケーションを無料で監視する

Inspector は、ソフトウェア開発者向けに特別に設計されたコード実行監視ツールです。サーバーレベルで何もインストールする必要はありません。Laravel または Symfony パッケージをインストールするだけで準備完了です。

HTTP モニタリング、データベース クエリに関する洞察、アラートや通知を好みのメッセージング環境に転送する機能をお探しの場合は、Inspector を無料でお試しください。アカウントを登録してください。

または、Web サイトで詳細をご覧ください: https://inspector.dev

Laravel custom helper functions – Fast Tips

以上がLaravel カスタム ヘルパー関数 – 簡単なヒントの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!