お勧めの書籍になります。
本書は、PHPフレームワークであるLaravelについて短時間で概要を掴みたい方のための書籍です。9個のPartに分けて、Laravelの基本からテンプレート開発、データベース連携、リクエスト/レスポンス処理、ルーティング設定までを、サンプルコードと共に詳しく解説しています。サンプルは、サポートページ(https://wings.msn.to/index.php/-/A-03/WGS-PHP-002/)からダウンロード可能です。どんどん動かして試してみてください。
※本書は、旧版「速習 Laravel 6」をバージョン9に対応し、最新情報で改訂したものです。
【対象読者】
本書は、WebアプリケーションフレームワークであるLaravelを初めて学ぶ人のための書籍です。プロジェクトの立ち上げから基本的なデータベース連携アプリの実装までを手早く習得していただくことを目的としています。その性質上、開発のための言語であるPHPについては、最低限理解していることを前提に、解説を進めます。PHPを基礎から学びたいという方は、拙著「独習PHP 第4版」(翔泳社)などの専門書を合わせて参照することをお勧めします。
【目次】
はじめに
対象読者
サンプルプログラム
Part 1:イントロダクション
1.1 Laravelの位置づけ
1.1.1 フレームワークとは?
1.1.2 PHPフレームワークの歴史
1.1.3 Laravelの特徴
Part 2:Laravel開発の準備
2.1 Laravel開発の準備
2.2 基本的なアプリの作成
2.3 補足:Apacheサーバーで実行する
Part 3:Laravelの基本
3.1 コントローラーの基本
3.1.1 コントローラーから文字列を出力する
3.1.2 補足:getメソッドの異なる記法
3.2 ビューの基本
3.3 モデルの基本
3.3.1 Eloquentとは?
3.3.2 データベース利用の準備
3.3.3 モデルクラスの作成
3.3.4 データアクセスの基本
Part 4:ビュー開発
4.1 埋め込み構文
4.1.1 HTMLエスケープの無効化 – {!!…!!}
4.1.2 {{…}}の無効化 – @構文
4.1.3 テンプレートにコメントを残す – コメント構文
4.1.4 補足:共通のビュー変数を準備する
4.2 基本ディレクティブ
4.2.1 汎用的な条件分岐を表す – @if
4.2.2 否定の条件分岐を表現する – @unless
4.2.3 変数の有無によって表示を振り分ける – @isset/@empty
4.2.4 等価比較による条件分岐を表現する – @switch
4.2.5 条件式によって出力を繰り返す – @while
4.2.6 指定された回数だけ処理を繰り返す – @for
4.2.7 配列の内容を順番に出力する – @foreach
4.2.8 配列が空の場合の出力を決める – @forelse
4.2.9 ループを即座に脱出する – @break
4.2.10 現在の周回をスキップする – @continue
4.2.11 スタイルクラスを動的に設定する
4.2.12 ラジオボタン/チェックボックス/選択ボックスの選択状態を決める
4.2.13 任意のコードを実行する – @php
4.3 レイアウト
4.3.1 レイアウトの定義
4.3.2 個別テンプレートの準備
4.4 コンポーネント
4.4.1 コンポーネントの利用
4.4.2 コンポーネントの定義
4.4.3 動的コンポーネント
4.5 サブビュー
4.5.1 サブビューの基本
4.5.2 コレクションビュー
Part 5:ルーティング
5.1 ルーティングの基本
5.2 ルートパラメーター
5.2.1 ルートパラメーターの基本
5.2.2 任意のルートパラメーター
5.2.3 ルートパラメーターの制約
5.2.4 可変長パラメーター
5.3 特別なルート定義
5.3.1 ルートに共通の接頭辞を付与する
5.3.2 同一コントローラーへのルート情報を束ねる
5.3.3 名前空間付きのコントローラー
5.3.4 アクションの省略
5.3.5 Enum型によるパラメーターの制限
5.3.6 リダイレクト
5.3.7 リソースルート
5.3.8 フォールバックルート
Part 6:コントローラー開発
6.1 レスポンス
6.1.1 Responseオブジェクトの基本
6.1.2 ビュー出力時にヘッダーを設定する
6.1.3 JSON形式の出力を生成する
6.1.4 指定されたファイル/データをダウンロードする
6.1.5 リダイレクト
6.1.6 メンテナンスモード
6.2 リクエスト
6.2.1 Requestオブジェクトの基本
6.2.2 フォームからの入力
6.2.3 ファイルのアップロード
6.3 ミドルウェア
6.3.1 ミドルウェアの基本
6.3.2 アクションの後処理
6.3.3 ミドルウェアのさまざまな登録方法
Part 7:状態管理
7.1 クッキー
7.1.1 クッキーの保存
7.1.2 クッキーの取得
7.2 セッション
7.2.1 セッション利用のための設定
7.2.2 セッションの利用
7.2.3 データベースでのセッション管理
7.2.4 補足:セッションのさまざまな操作
7.2.5 フラッシュの利用例
Part 8:データベース連携(データの取得)
8.1 マイグレーション/シード
8.1.1 マイグレーションファイルの作成
8.1.2 補足:Schemaクラスのメソッド
8.1.3 シーダー
8.1.4 モデルファクトリー
8.2 データの取得
8.2.1 主キーで検索する
8.2.2 任意の列でデータを検索する
8.2.3 whereメソッドによる様々な検索
8.2.4 SELECT命令のその他の句
8.2.5 SQL命令の確認(デバッグ)
8.3 リレーション
8.3.1 テーブル/モデルの準備
8.3.2 モデルの定義
8.3.3 リレーションの利用
Part 9:データベース連携(データの挿入/更新/削除)
9.1 データの登録
9.2 既存データの更新
9.3 既存データの削除
9.4 検証機能の実装
9.4.1 エラーメッセージの日本語化
9.4.2 項目単位のエラーメッセージ表示
【著者プロフィール】
Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」の代表でもある。主な著書に「速習シリーズ(Kotlin、TypeScript、Spring Boot、Vue.js、Djangoなど)」(Amazon Kindle)、「改訂新版JavaScript本格入門」「Angularアプリケーションプログラミング」(技術評論社)、「独習シリーズ(Python、PHP、Ruby、Java、C#など」「JavaScript逆引きレシピ 第2版」(翔泳社)、「はじめてのAndroidアプリ開発 Kotlin編」(秀和システム)など。