【Laravel】イベント(Event)とリスナー(Listener)の使い方|疎結合な設計パターン
Laravel アプリケーションが複雑になるにつれ、「ある処理が終わったら別の処理を動かす」という連鎖をコントローラや Service クラス内に直接書いてしまいがちです。Event/Listener の仕組みを使うと、この依存関係を ...
【Laravel】サービスコンテナとサービスプロバイダの仕組みをわかりやすく解説
Laravelを使い続けていると、「サービスコンテナって何をしているのか」「サービスプロバイダはどこに何を書けばいいのか」という疑問に当たることがあります。
ドキュメントを読んでも「依存性注入」「バインディング」「 ...
【Laravel】キュー(Queue)とジョブ(Job)の使い方|非同期処理の実装から本番運用まで
メール送信・PDF生成・外部APIへの連続リクエストなど、時間のかかる処理をコントローラの中に書いていませんか?
そのままではレスポンスが遅くなり、ユーザー体験を損ないます。タイムアウトや失敗時の再試行も難しくなり ...
【Laravel】Eloquentのスコープ(scope)の使い方|ローカルスコープ・グローバルスコープ完全解説
Laravelで「アクティブなユーザーだけ取得する」「論理削除されていないレコードだけ取得する」といった条件を、毎回 where で書いていませんか?
Eloquentのスコープ(scope)を使うと、よく使うクエ ...
【Laravel】.envファイルの設定と管理のベストプラクティス|config()・env()の使い分けと注意点
Laravelを使い始めると、.env ファイルと config() 関数の使い分けに迷うことがあります。
「どこで env() を使って、どこで config() を使えばいいのか」「config:cache を ...
【Laravel】N+1問題の検出と解消方法|with・load・lazy loadingの使い分け
Laravelでアプリケーションを開発していると、気づかないうちに大量のSQLが発行されてパフォーマンスが劣化することがあります。その原因の多くが N+1問題 です。
ページの表示が遅い、DBへの負荷が高い、といっ ...
【PHP】配列操作の完全ガイド|array_map・array_filter・array_reduce・usortの使い分け
PHPには配列を操作するための関数が豊富に用意されていますが、「どれをどう使い分ければいいのか」迷ったことはありませんか。
array_map と array_filter の違い、array_reduce の使い ...
【Laravel】バリデーションのカスタムルールを作成する方法|Rule::make・Invokable・FormRequest
Laravelの標準バリデーションルールは非常に充実していますが、業務ロジックに踏み込んだ検証は自前で実装する必要があります。
たとえば「特定のステータスのときだけ必須になる項目」「DBを参照して重複チェックをカス ...
【AWS】CloudFrontのキャッシュ設定完全ガイド|TTL・invalidation・キャッシュポリシーの使い分け
CloudFrontは高速なコンテンツ配信が魅力ですが、キャッシュの設定を誤るとコンテンツが更新されない、あるいはキャッシュが効かずオリジンへのリクエストが増えるという問題が起きます。
私自身、このブログをS3 + ...
【Laravel】Collectionの使い方完全ガイド|map・filter・reduce・groupByなど実務でよく使うメソッド一覧
Laravelを使っていると、データベースから取得したレコードや配列データを加工する場面が頻繁にあります。
そのときに活躍するのが Collection(コレクション) です。PHPの配列をそのまま操作するより、は ...