2024-06

Laravel

【Laravel】ファイルアップロードの実装パターン集

こんにちは、かつコーチです。前回はLaravelでよく出るエラーと解決法をまとめました。今回は、実務でほぼ必ず出てくる「ファイルアップロード」の実装パターンを、基本から一歩踏み込んだところまで解説します。プロフィール画像、PDFの添付、CS...
Laravel

【Laravel】Laravelでよく出るエラーと解決法まとめ

こんにちは、かつコーチです。ここまでルーティングやコントローラ、Eloquent、認証、キュー、スケジューラといった機能を順番に解説してきました。今回からは少し毛色を変えて、「実践Tips・エラー解決」編に入っていきます。初回は、Larav...
Laravel

【Laravel】Task Scheduling(スケジューラ)で定期処理を実装する

こんにちは、かつコーチです。前回はQueueを使って、時間のかかる処理を非同期化する方法を解説しました。今回は、その延長線上にある「定期処理」の実装方法です。「毎日深夜に古いデータを削除したい」「毎朝レポートをメールで送りたい」——こういっ...
Laravel

【Laravel】Queueの基本:時間のかかる処理を非同期化する

こんにちは、かつコーチです。前回は、config・route・viewの3種類のキャッシュで応答速度を改善する方法を解説しました。キャッシュは「無駄な処理を減らして速くする」アプローチでしたが、今回紹介するQueue(キュー)は、「時間のか...
Laravel

【Laravel】Laravelのキャッシュ設定(config/route/viewキャッシュ)

こんにちは、かつコーチです。前回は、.env ファイルの環境ごとの管理方法と、シークレット情報の安全な扱い方を解説しました。その中で少し触れた config:cache について、今回はきちんと掘り下げていきます。Laravelには、本番環...
Laravel

【Laravel】環境ごとの.env管理とシークレット情報の扱い方

こんにちは、かつコーチです。前回は、Laravelアプリを本番環境にデプロイする一連の流れを解説しました。その手順の中で何度も登場した .env ファイルですが、実は「開発環境と本番環境でどう使い分けるか」「パスワードなどの機密情報をどう安...
Laravel

【Laravel】Laravelアプリを本番環境にデプロイする流れ

こんにちは、かつコーチです。前回は、GitHub Actionsでテストを自動化するCIの仕組みを解説しました。テストが安心して通せるようになったら、次はいよいよ「本番環境にアプリを届ける」というステップに進みます。ここから数回にわたって、...
Laravel

【Laravel】GitHub ActionsでLaravelのテストをCI連携する

こんにちは、かつコーチです。前回まで、FactoryとRefreshDatabaseを使ってテストデータを整える方法を解説してきました。ローカル環境で php artisan test を実行すれば、テストが通るかどうかは確認できます。です...
Laravel

【Laravel】FactoryとRefreshDatabaseでテストデータを整える

こんにちは、かつコーチです。前回はUnit Testで、DBに依存しない単体ロジックのテスト方法を解説しました。今回は、DBを使うテストを書くうえで欠かせない「Factory」と「RefreshDatabase」を解説します。これでテスト編...
Laravel

【Laravel】Unit Testでモデル・サービスクラスをテストする

こんにちは、かつコーチです。前回はFeature Testで、コントローラを含めた機能全体の動作を検証する方法を解説しました。今回は、モデルやサービスクラスといった「単体のロジック」を検証するUnit Testを解説します。Unit Tes...
Laravel

【Laravel】Feature Testでコントローラの動作をテストする

こんにちは、かつコーチです。前回はPHPUnitの基本と、テストの書き方の土台を解説しました。今回は、Laravel独自の仕組みであるFeature Testを使って、コントローラやルーティングを含めた「機能全体」をテストする方法を解説しま...
Laravel

【Laravel】PHPUnitの基本:Laravelでテストを書く準備

こんにちは、かつコーチです。前回はロール・権限管理の実装パターンを解説し、認証・セキュリティ編を締めくくりました。今回からは新章、「テスト」編に入ります。初回となる今回は、Laravelのテストの土台になっているPHPUnitの基本を扱いま...
Laravel

【Laravel】ロール・権限管理の実装パターン

こんにちは、かつコーチです。前回はパスワードハッシュ化(bcrypt)の仕組みを解説しました。ログイン機能ができると、次にぶつかるのが「管理者だけがこの画面を見られるようにしたい」という要望です。今回はLaravelにおけるロール・権限管理...
Laravel

【Laravel】パスワードハッシュ化(bcrypt)の仕組み

こんにちは、かつコーチです。ここまでSanctumによるAPI認証、Policy・Gateによる認可、CSRF対策、XSS対策と、Laravelのセキュリティ機能を順番に見てきました。今回はその締めくくりとして、認証の土台となるパスワードの...
Laravel

【Laravel】XSS対策:Bladeのエスケープ処理を理解する

こんにちは、かつコーチです。前回はCSRF対策について解説しました。今回は、もう一つの代表的なWeb脆弱性であるXSS(クロスサイトスクリプティング)と、Laravelの標準テンプレートエンジンBladeがどう対策しているかを見ていきます。...
Laravel

【Laravel】CSRF対策の仕組みとLaravelでの実装

こんにちは、かつコーチです。前回はPolicy・Gateを使った認可の仕組みを扱いました。今回は、Webアプリのセキュリティで必ず押さえておきたいCSRF(クロスサイトリクエストフォージェリ)対策について解説します。Laravelは標準でC...
Laravel

【Laravel】Policy・Gateで認可(権限チェック)を実装する

こんにちは、かつコーチです。前回はSanctumを使ったAPI認証を紹介しました。「誰なのか」を確認するのが認証だとすると、今回のテーマは「その人に何ができるのか」を確認する認可です。Laravelでは、この認可のロジックをPolicyとG...
Laravel

【Laravel】Laravel SanctumでAPI認証を実装する

こんにちは、かつコーチです。前回はBreeze・Jetstream・Fortify・Sanctumの違いを整理して、「どの認証機能を選べばいいか」の判断軸を紹介しました。今回はその中でも、SPA連携やモバイルアプリのバックエンドでよく使われ...
Laravel

【Laravel】Laravel Breeze・Jetstream・Fortify・Sanctumの違いを整理する:認証機能はどれを選ぶべき?

こんにちは、かつコーチです。前回はEloquentのキャスト・アクセサ・ミューテタの使い分けを解説しました。今回からは新しいテーマ、「認証・セキュリティ」に入っていきます。Laravelで会員登録・ログイン機能を作ろうとすると、必ずぶつかる...
Laravel

【Laravel】Laravel11の機能を解説

こんにちは、かつコーチです。2024年2月にLarave11がリリースされました。今回はそのLaravel11の機能について解説します。Laravel 11 は、これまでのバージョンから大きな進化を遂げています。特に、ファイル数の削減や、コ...