ヘルパー関数は、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/
ビジネス ロジックに関連するタスクを自動化したい場合があり、それをヘルパー関数にカプセル化すると非常に便利です。このユースケースに最適な連想配列の array_map の実装について書きました。
この関数の目的については記事を参照してください。この文脈では、これを Laravel アプリケーション内で使用するカスタム ヘルパー関数にしたいと考えています。
まず、Laravel プロジェクトの app/ ディレクトリに新しいファイル helper.php を作成します。
以下のコードを貼り付けて、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 でラップされています。
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 の自動ロード ファイルを更新します。
ヘルパーファイルがロードされると、他の PHP 関数と同様に、Laravel アプリケーションのどこでもカスタム関数を使用できます。
$histogram = array_map_assoc(function ($key, $value) { return [ 'label' => $key, 'value' => $value['doc_count'] ]; }, $data);
コードベースを整理しておくのに役立つことを願っています。
さらに技術的な記事については、Linkedin または X で私をフォローしてください。
Inspector は、ソフトウェア開発者向けに特別に設計されたコード実行監視ツールです。サーバーレベルで何もインストールする必要はありません。Laravel または Symfony パッケージをインストールするだけで準備完了です。
HTTP モニタリング、データベース クエリに関する洞察、アラートや通知を好みのメッセージング環境に転送する機能をお探しの場合は、Inspector を無料でお試しください。アカウントを登録してください。
または、Web サイトで詳細をご覧ください: https://inspector.dev
以上がLaravel カスタム ヘルパー関数 – 簡単なヒントの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。