PHP

Laravel

【Laravel】Seederでテストデータを入れる3つの方法

こんにちは、かつコーチです。前回は多対多リレーション(belongsToMany)を扱いました。実際にリレーションの動きを確認しようとすると、記事・タグ・中間テーブルにそれぞれデータを手入力するのは大変ですよね。そこで今回は、テストデータを...
Laravel

【Laravel】多対多リレーション(belongsToMany)を実装する

こんにちは、かつコーチです。前回は hasMany と belongsTo を使って、1対多のリレーションを扱いました。今回は、Eloquentのリレーションの中でもつまずく人が多い「多対多(belongsToMany)」を扱います。「1つ...
Laravel

【Laravel】Eloquentのリレーション:hasMany・belongsToの使い分け

こんにちは、かつコーチです。前回はEloquentの基本操作を解説しました。実際のアプリケーションでは、「投稿」と「コメント」、「ユーザー」と「投稿」のように、テーブル同士が関連し合っているケースがほとんどです。今回は、Eloquentでテ...
Laravel

【Laravel】Eloquentとは?Laravelの顔ともいえるORMを理解する

こんにちは、かつコーチです。前回はMigrationを使って、テーブル構造をコードで管理する方法を解説しました。テーブルが作れるようになったら、次はそのテーブルのデータをPHPのコードから読み書きする番です。今回はLaravelの中でも特に...
Laravel

【Laravel】Migrationの基本:テーブルをコードで管理する

こんにちは、かつコーチです。前回まででルーティングとコントローラの基本的な応用を見てきました。ここからはデータベース編に入っていきます。最初のテーマは、Laravelでテーブルを作成・変更するときに欠かせない「Migration(マイグレー...
Laravel

【Laravel】Route Model Bindingで自動的にモデルを取得する

こんにちは、かつコーチです。前回はNamed Routeについて解説しました。今回は、URLのパラメータを扱うコントローラをもっとシンプルに書ける「Route Model Binding」を紹介します。「IDを受け取って、モデルを検索して、...
Laravel

【Laravel】Named Routeでルートに名前をつけるメリット

こんにちは、かつコーチです。前回は、リダイレクト処理のパターンについて解説しました。その中で redirect('/mypage') のようにURLを直接書くコードが何度か出てきましたが、実は現場のLaravelコードではあまり見かけません...
Laravel

【Laravel】リダイレクト処理のパターン集

こんにちは、かつコーチです。前回は、セッションとフラッシュメッセージの使い方を解説しました。ここまでで、フォームを受け取り、バリデーションし、結果をフラッシュメッセージとして保存する、という一連の流れが揃いました。最後に必要になるのが、「処...
Laravel

【Laravel】セッション・フラッシュメッセージの使い方

こんにちは、かつコーチです。前回は、バリデーションで入力値をチェックする方法を解説しました。バリデーションを通過して無事にデータが保存できたとき、「登録が完了しました」というメッセージを画面に表示したい場面はとても多いです。このとき使われる...
Laravel

【Laravel】Laravelのバリデーション(Validation)の書き方

こんにちは、かつコーチです。前回は、Requestオブジェクトでフォームの値を受け取る方法を解説しました。ただ、値を受け取れるようになっても、それがそのまま「正しい値」とは限りません。メールアドレスの形式が違っていたり、必須項目が空だったり...
Laravel

【Laravel】Requestオブジェクトでフォームの値を受け取る

こんにちは、かつコーチです。前回は、Bladeコンポーネントで画面のパーツを再利用する方法を解説しました。画面が作れるようになったら、次に気になるのは「フォームに入力された値を、コントローラ側でどう受け取るか」ですよね。PHPの生の書き方だ...
PHP

【Laravel】Bladeコンポーネントで再利用可能なパーツを作る

こんにちは、かつコーチです。前回は、Bladeテンプレートの基本文法を解説しました。@if や @foreach、@extends などを使えば、動的なHTMLはひと通り書けるようになります。ただ、実際に画面を作っていくと、同じ見た目のパー...
PHP

【PHP】なぜフレームワークを使うのか?Laravelを学ぶ前に知っておきたいこと

こんにちは、かつコーチです。久しぶりにPHPネタです。前回は、、、素のPHPで簡易的なルーティングとコントローラの仕組みを自作してみました。たった数ページの機能を作るだけでも、URLの振り分けやファイルの読み込み管理など、地味な手間がたくさ...
Laravel

【Laravel】Bladeテンプレートの基本文法

こんにちは、かつコーチです。前回はMiddlewareで共通処理を挟む仕組みを解説しました。Route → Controller → Middlewareと進み、ようやくアプリの「表側」、つまり画面の見た目を作る部分にたどり着きました。La...
Laravel

【Laravel】Middlewareとは?認証チェックなどの共通処理を挟む仕組み

こんにちは、かつコーチです。前回はControllerの作り方を解説しました。RouteとControllerでリクエストの処理ができるようになると、次に気になってくるのが「ログインしていない人にはこのページを見せたくない」といった共通のチ...
Laravel

【Laravel】Controllerの作り方とArtisanでの生成方法

こんにちは、かつコーチです。前回はRoute設計の整理術を解説しました。ここまでの記事では、ルートの処理をクロージャ(function () {...})にそのまま書いてきました。小さなアプリならそれでも動きますが、処理が増えてくると ro...
Laravel

【Laravel】LaravelのRoute設計で迷わないための整理術

こんにちは、かつコーチです。前回は Route::get を使った基本のルーティングを解説しました。小さなアプリならそれで十分ですが、機能が増えてくると routes/web.php はあっという間に肥大化します。私自身、個人開発でルートが...
Laravel

【Laravel】Laravelのルーティング基礎:Route::getから学ぶ

こんにちは、かつコーチです。前回までにArtisanコマンドの使い方を確認して、Laravelを操作する準備が整いました。ここからは、いよいよLaravelアプリの中身を作っていきます。最初に学ぶべきは「ルーティング」です。Laravelに...
Laravel

【Laravel】Artisanコマンド入門:よく使うコマンドまとめ

こんにちは、かつコーチです。前回、.envファイルの役割を解説した際に、php artisan key:generateというコマンドを実行しました。「artisan」という単語、実はこれまでも何度かさらっと登場していました。今回は、Lar...
Laravel

【Laravel】.envファイルの役割と設定方法

こんにちは、かつコーチです。前回、Laravelのディレクトリ構造を見ていきましたが、プロジェクト直下に.envという見慣れないファイルがあったのに気づいたでしょうか。先頭にドットが付いていて、フォルダによっては表示されないこともあるファイ...