Laravel

キューとジョブの使い方入門

HTTP リクエストの中でメール送信、帳票生成、外部 API 呼び出しを抱え込むと、ユーザーは画面の完了を待たされます。処理が伸びたときはタイムアウトや二重送信も起きやすくなり、失敗時の再実行もコントローラ内だけでは扱いづらくなります ...

PHP

traitの使い方

複数の Eloquent モデルに同じローカルスコープやミューテータをコピペしていませんか。筆者も、共通条件を複数モデルへそのまま写したあと、片方だけ修正漏れがあり、本番では期待と異なる挙動になった経験があります。チーム開発でも同様の ...

Laravel

ミドルウェアの作成と使い方

「ログインチェックをコントローラの先頭に書いていたら、気づけば10本以上のコントローラに同じコードが散らばっていた」──実務でよく見る状況です。認証・ログ出力・レート制限は要件としては別々でも、HTTP の入口では必ず組み合わさって現 ...

AWS

S3の静的ウェブサイトホスティング完全ガイド

「EC2でサーバーを動かし続けるのはコストがもったいない」「静的サイトならもっと安く運用できるはず」

そう思って S3 の静的ホスティングを調べ始めたものの、S3 単体の設定だけでは HTTPS が使えない、ディレクトリ形 ...

Database

EXPLAINの読み方とSLOW QUERYの改善方法

「このクエリ、なんでこんなに遅いんだろう…」

本番で突然レスポンスが遅くなり、ログを漁っていたら数秒かかっているSQLを発見した、という経験は誰でも一度はあるはずです。

MySQLのチューニングで最初に使うのが ...

PHP

例外処理(try-catch-finally)の使い方

PHP でプログラムを書いていると、ファイル読み込みや外部 API 呼び出しなど「失敗する可能性のある処理」を扱う場面が必ずあります。こうした処理を安全に扱うための仕組みが例外(Exception)であり、try・catch・fina ...

Laravel

Eloquentのリレーション完全ガイド

Laravel の Eloquent ORM(オブジェクトとテーブルを対応づける仕組み)では、テーブル間の関係を「リレーション」として PHP のメソッドで表現します。SQL の JOIN(複数テーブルを結合して取得するクエリ)を直接 ...

Laravel

イベント(Event)とリスナー(Listener)の使い方

Laravel アプリケーションが複雑になるにつれ、「ある処理が終わったら別の処理を動かす」という連鎖をコントローラや Service クラス内に直接書いてしまいがちです。Event/Listener の仕組みを使うと、この依存関係を ...

Laravel

サービスコンテナとサービスプロバイダの仕組みをわかりやすく解説
はじめに

Laravelを使い続けていると、「サービスコンテナって何をしているのか」「サービスプロバイダはどこに何を書けばいいのか」という疑問に当たることがあります。

ドキュメントを読んでも「依存性注入」「バインディング」「 ...

Laravel

キュー(Queue)とジョブ(Job)の使い方
はじめに

メール送信・PDF生成・外部APIへの連続リクエストなど、時間のかかる処理をコントローラの中に書いていませんか?

そのままではレスポンスが遅くなり、ユーザー体験を損ないます。タイムアウトや失敗時の再試行も難しくなり ...