WINGS(Www INtegrated Guide on Server-architecture)
Www INtegrated Guide on Server-architecture :
   ホーム お問い合わせ サーバサイド環境構築設定 つぶやき ブックマーク レンタルサーバー 総合FAQ/訂正&ダウンロード このエントリーをはてなブックマークに追加        
  • 刊行書籍情報  [書籍マップ
  • オンライン公開 技術記事
  • シリーズ別書籍リスト
  • 「WINGS News」登録/解除
  • WINGSプロジェクト紹介
  • WINGSプロジェクトメンバ募集





【カテゴリ】 PHP


PHPマイクロフレームワークSlim Webアプリケーション開発  

PHPマイクロフレームワークSlim Webアプリケーション開発

WINGSプロジェクト 齊藤 新三/著
山田祥寛/監修
ソシム 株式会社/発行
定価 3,600円(+税)
B5変版・ 480ページ・ 2色
ISBN 978-4-8026-1252-4
発刊日: 2020年5月25日

[Amazon.co.jpからオンライン購入する]

   FAQ 本書訂正 アンケート ダウンロード出版社サイト

本書の特徴

マイクロフレームワークSlimの解説書

「フレームワークとは」という基本的な話題から、「本運用環境」で稼働させるまでを丁寧に解説。VagrantとVirtualBoxを使った仮想環境の構築やHerokuについても扱います。本書掲載のサンプルはダウンロード可能。合わせて読者特典として、PHPUnitを使った単体テストのコンテンツをPDFで提供しています。
全サンプル最新バージョン4.5で動作確認済です。

まとめて読んで 更にスキルアップのこんな書籍

・人気のPHPフレームワークLaravel 6の解説書
速習 Laravel 6」(WINGSプロジェクト)
・基礎からガッチリPHPを勉強したい人にはこの1冊
独習PHP 第3版」(翔泳社)
分野・レベル別マップ

本書について取り上げていただいたブログさま

・WEB講習所 - gengen33さま
PHPマイクロフレームワークSlim Webアプリケーション開発(2020年6月27日)
・70歳からの学び - Hagiwaraさま
Web開発フレームワーク(2020年6月27日)
・AIに負けないわたしになる - なおさま
Webアプリケーションは楽々作れる!PHPマイクロフレームワークSlimで開発(2020年6月11日)
・Yuu's Memo - Yuu's Memoさま
【PHPマイクロフレームワーク Slim Webアプリケーション開発】を読んで(2020年6月03日)

  Contents


■導入編
第1章 PHPフレームワークSlimとは
1-1 フレームワークとは
 1-1-1 フレームワークとは何か
 1-1-2 フレームワークとライブラリの違い
 1-1-3 フレームワークを使うメリットとデメリット
1-2 サーバサイドWeb開発フレームワークの歴史
 1-2-1 最初はJava用のフレームワークから
 1-2-2 パラダイムシフトはRubyから
 1-2-3 PHP用フレームワークの歴史
1-3 軽量フレームワークSlimの特徴
 1-3-1 フルスタックフレームワークの特性
 1-3-2 軽量フレームワークである
 1-3-3 Slimの特徴
1-4 MVCアーキテクチャにおけるSlimのメリット
 1-4-1 MVCアーキテクチャとは
 1-4-2 MVCアーキテクチャを実現する4種の神器
 1-4-3 SlimとMVCとの関係
1-5 本書の役割
 1-5-1 本書が目指すところ
 1-5-2 本書を学習する上での前提知識
 1-5-3 本書の構成

第2章 Slim動作環境の構築
2-1 XAMPPのインストール
 2-1-1 XAMPPとは
 2-1-2 XAMPPのインストール
 2-1-3 Apacheの起動と確認
 2-1-4 XAMPPでのドキュメントルート
2-2 Composerのインストール
 2-2-1 Composerとは
 2-2-2 WindowsへのComposerのインストール
 2-2-3 macOSへのComposerのインストール
2-3 ダウンロードサンプルの扱い
 2-3-1 Samples.zipについて
 2-3-2 スケルトンプロジェクトについて
 2-3-3 完成形ソースコード(3章から8章)について
 2-3-4 その他の完成形ソースコード(9章以降)について
 2-3-5 特典PDF(テスティング)について

第3章 はじめてのSlimアプリと動作原理
3-1 はじめてのSlimプロジェクトを作成する
 3-1-1 Slimプロジェクトの作成手順
 3-1-2 はじめてのSlimアプリケーションの動作確認
3-2 Slimプロジェクトの作成方法
 3-2-1 Slimのフォルダ構成
 3-2-2 ComposerコマンドとSlimパッケージの配置
 3-2-3 .htaccessの記述と役割
 3-2-4 Slimのindex.php
 3-2-5 クラスファイルを自動で読み込むautoload.php
3-3 Slimの動作原理
 3-3-1 Slimの動作に必要なルーティング登録
 3-3-2 ルーティングコールバック関数
 3-3-3 Slimの動作とルーティング登録の関係
3-4 Composerの動作と使い方
 3-4-1 composer.jsonの記述とセマンティックバージョンニング
 3-4-2 既存のcomposer.jsonを利用する
 3-4-3 Composerのその他のコマンド

基本編
第4章 Slimのルーティング登録
4-1 リクエストの種類に合わせたルーティング登録
 4-1-1 リクエストメソッドごとのルーティング登録
 4-1-2 サンプルプロジェクトの作成
 4-1-3 POST処理のルーティング登録
 4-1-4 各種HTTPメソッドでアクセス可能なPostman
4-2 ServerRequestInterfaceとResponseInterface
 4-2-1 リクエストパラメータの取得
 4-2-2 引数$requestの正体
 4-2-3 引数$responseの正体
 4-2-4 PSR-7の実装
 4-2-5 コールバック関数中のprint()の正体
4-3 複数のHTTPメソッドに対応できるルーティング登録
 4-3-1 すべてのメソッドに対応したany()
 4-3-2 アクセスするHTTPメソッドを選べるmap()
4-4 ルーティング登録を便利にする仕組み三種盛り
 4-4-1 ルーティングパターンにベースパスを設定する
 4-4-2 ルーティングパターンに階層構造を持たせる
 4-4-3 ルーティングに名前をつける
4-5 ルーティングの外部ファイル化
 4-5-1 index.phpの肥大化を避けるために
 4-5-2 ルーティングファイルの分割
4-6 ルーティングプレースホルダ
 4-6-1 ルーティングプレースホルダの設定
 4-6-2 プレースホルダは複数記述できる
 4-6-3 オプションプレースホルダ
4-7 リダイレクト
 4-7-1 ルーティング登録としてのリダイレクト
 4-7-2 コールバック関数内でリダイレクト

第5章 Slimにおけるビュー
5-1 Slimにおけるビューの扱いとJSONデータ送信
 5-1-1 Slimにおけるビューはレスポンスオブジェクト
 5-1-2 サンプルプロジェクトの作成
 5-1-3 SlimでJSONデータを送信する方法
5-2 テンプレートエンジンTwigとの連携
 5-2-1 HTMLコードを分離できるテンプレートエンジン
 5-2-2 PHPでのテンプレートエンジン
 5-2-3 Slimで利用するテンプレートエンジン
 5-2-4 SlimでのTwigを利用して画面を表示させる
 5-2-5 SlimでのTwig利用の基本手順
 5-2-6 Twigの環境設定
5-3 テンプレート変数
 5-3-1 テンプレート変数の基本は波括弧2個
 5-3-2 テンプレート変数のドットアクセス
 5-3-3 テンプレート変数アクセスのルール
 5-3-4 コメント
5-4 フィルタ
 5-4-1 フィルタはパイプを記述
 5-4-2 Twigのフィルタ一覧
 5-4-3 複数のフィルタを併用する
5-5 条件分岐
 5-5-1 条件分岐を使う
 5-5-2 条件中のissetやemptyは不要
 5-5-3 論理演算子は英単語
5-6 ループ
 5-6-1 配列のループ
 5-6-2 連想配列のループ
 5-6-3 カウンタ変数を使ったループ
 5-6-4 ループのelseブロック
 5-6-5 ループ変数
5-7 その他の便利なTwig構文三種盛り
 5-7-1 テンプレート内変数を作成するset
 5-7-2 テンプレートの共通部分を別ファイルにできるinclude
 5-7-3 変数の内容を表示するdump

第6章 コンテナとDI
6-1 コンテナとその使い方の基本
 6-1-1 コンテナとは
 6-1-2 サンプルプロジェクトの作成
 6-1-3 コンテナの利用に必要なパッケージ
 6-1-4 Slimでコンテナを利用する方法
 6-1-5 コンテナへの登録方法
 6-1-6 コンテナからインスタンスを取得する方法
6-2 Slimとコンテナの関係
 6-2-1 get()メソッドの正体
 6-2-2 Slimが連携するコンテナはPSR-11
6-3 コンテナを経由した引数
 6-3-1 インスタンス生成処理関数に引数を設定する
 6-3-2 コンテナ経由で引数を渡すメソッドcall()
 6-3-3 call()の第2引数は必ず配列
6-4 Slimでログを扱う方法
 6-4-1 SlimではMonologを利用する
 6-4-2 Monologの準備3ステップ
 6-4-3 ログに書き出す際はログレベルを意識する
 6-4-4 Monologの標準ログフォーマット
6-5 コンテナの本当の役割
 6-5-1 クラスを直接newすることの問題点
 6-5-2 コンテナと依存性注入

第7章 コントローラクラス
7-1 コールバック関数の問題点とコントローラクラス
 7-1-1 コールバック関数は肥大化する
 7-1-2 サンプルプロジェクトの作成
 7-1-3 コントローラクラスの作り方
 7-1-4 コントローラクラスのルーティング登録
 7-1-5 オートロードの設定
 7-1-6 コントローラクラスには複数のメソッドを記述できる
7-2 コントローラクラスとコンテナの連携
 7-2-1 コントローラクラス内の$thisはコンテナではない
 7-2-2 コンストラクタの引数としてコンテナを受け取る
 7-2-3 コントローラクラスでのコンテナの扱い

第8章 ミドルウェア
8-1 ミドルウェアとその作り方
 8-1-1 ミドルウェアとは
 8-1-2 サンプルプロジェクトの作成
 8-1-3 ミドルウェアの作り方
 8-1-4 ミドルウェアの利用方法
8-2 ミドルウェア処理の位置
 8-2-1 リクエスト処理の前に挿入する場合
 8-2-2 処理の挿入位置はhandle()メソッドの記述位置
 8-2-3 handle()メソッドの正体
 8-2-4 リクエスト処理前後の両方に処理を挿入
 8-2-5 ミドルウェアのチェイン
8-3 ミドルウェアにデータを渡す方法
 8-3-1 ミドルウェアでコンテナを利用するには
 8-3-2 ミドルウェアにコンテナを渡すには
 8-3-3 コンテナ以外のデータも渡せるコンストラクタ
8-4 ミドルウェア設定のバリエーション
 8-4-1 ルーティンググループにミドルウェアを設定
 8-4-2 アプリケーション全体にミドルウェアを設定

実践準備編
第9章 GitHubの利用
9-1 バージョン管理とGit
 9-1-1 バージョン管理システムとは
 9-1-2 集中型バージョン管理システム
 9-1-3 分散型バージョン管理システム
 9-1-4 Gitとは
9-2 GitHub
 9-2-1 GitホスティングサービスとGitHub
 9-2-2 GitHubのアカウント作成
 9-2-3 GitHubのリポジトリ作成
 9-2-4 GitHubデスクトップの導入
 9-2-5 GitHubデスクトップでリポジトリをクローンする
9-3 GitHubを使った基本の開発手順
 9-3-1 リポジトリにSlimプロジェクトを作成する
 9-3-2 管理対象から除外するファイルを設定する.gitignore
 9-3-3 GitHubデスクトップでコミットとプッシュ
 9-3-4 GitHubを利用した基本の作業ルーティン
9-4 ブランチとプルリクエスト
 9-4-1 ブランチとは
 9-4-2 ブランチを作ってみる
 9-4-3 ブランチにファイルを追加する
 9-4-4 ブランチのファイルを編集する
 9-4-5 マージを簡単に行うプルリクエスト
 9-4-6 3種のマージ方法
 9-4-7 ブランチを削除する
 9-4-8 GitHub利用のワークフロー

第10章 仮想環境の利用
10-1 仮想環境
 10-1-1 XAMPPの問題点
 10-1-2 仮想環境とは
 10-1-3 2種の仮想環境
 10-1-4 仮想環境のメリット
 10-1-5 Webシステム開発で威力を発揮するホスト型仮想環境
 10-1-6 ホスト型仮想化アプリケーション
 10-1-7 本章で構築する環境
10-2 VirtualBox
 10-2-1 VirtualBoxのインストール
 10-2-2 VirtualBoxでのVM作成
10-3 Vagrant
 10-3-1 Vagrantとは
 10-3-2 Vagrantのインストール
 10-3-3 Vagrantfileを作成する
 10-3-4 Vagrantfileを記述する
 10-3-5 VagrantでVMを起動する
 10-3-6 VagrantでのVMの停止と破棄
10-4 仮想環境内の構築と設定
 10-4-1 仮想環境にログインする
 10-4-2 管理者権限ユーザに切り替える
 10-4-3 CentOSのパッケージを管理するyumコマンド
 10-4-4 Apacheのインストール
 10-4-5 Apacheの起動
 10-4-6 Apacheのサービス登録
 10-4-7 PHPのインストール
10-5 Apacheの設定変更
 10-5-1 SocymFirstGitSlimをSocymSlimVBoxに配置
 10-5-2 Apacheの設定ファイルの変更
 10-5-3 SSH接続先のテキストファイルを編集するvi
 10-5-4 ドキュメントルートを変更する
 10-5-5 .htaccessを有効にする
 10-5-6 Apache設定ファイルの確認と再起動
10-6 SocymFirstGitSlimをSocymSlimVBoxで実行する
 10-6-1 GitHubで現在の状態を記録するリリース機能
 10-6-2 SocymFirstGitSlimのソースコードを変更する
 10-6-3 仮想環境で実行されたSlimアプリの確認

第11章 Herokuの利用
11-1 Webアプリケーションの実行環境とHeroku
 11-1-1 共有レンタルサーバ
 11-1-2 サーバを1台用意する
 11-1-3 クラウド
 11-1-4 本運用環境を自動構築してくれるHeroku
11-2 Heroku環境の用意
 11-2-1 Herokuアカウントの作成
 11-2-2 Herokuアプリの作成
 11-2-3 Dynoの種類
 11-2-4 Herokuの実行環境は自動判定
11-3 GitHub連携とデプロイ
 11-3-1 HerokuとGitHubアカウントを連携させる
 11-3-2 HerokuアプリとGitHubリポジトリを連携させる
 11-3-3 GitHubからデプロイ
 11-3-4 Herokuアプリの動作確認とURL
 11-3-5 Dynoの内容の確認
11-4 Herokuでのドキュメントルートの変更
 11-4-1 Herokuでのエラー確認
 11-4-2 socymfirstslimアプリが動作しない原因
 11-4-3 Dynoのドキュメントルート変更

実践編
第12章 データベース連携
12-1 仮想環境へのPostgreSQLのインストール
 12-1-1 Herokuの標準データベースはPostgreSQL
 12-1-2 PostgreSQLのインストール
 12-1-3 データベースの初期化と設定
 12-1-4 ユーザとデータベースの作成
 12-1-5 PostgreSQLへの接続
 12-1-6 テーブルの作成
 12-1-7 PHPライブラリのインストール
12-2 データベースへの接続と切断と例外処理
 12-2-1 実践編用プロジェクトリポジトリの作成とクローン
 12-2-2 SocymSlimMVCプロジェクトの作成
 12-2-3 会員情報入力画面の作成
 12-2-4 Slimアプリでデータベースにアクセスするコード
 12-2-5 Slimでのデータベースアクセスの特徴
 12-2-6 PDOによるデータベースへの接続
 12-2-7 PDO接続のオプション
 12-2-8 データベース接続の切断
12-3 データベース処理の基本
 12-3-1 PDOによるデータベース処理手順
 12-3-2 連番主キーの取得
 12-3-3 PDOインスタンスをコンテナから取得
12-4 データ取得処理
 12-4-1 データ取得処理コードの記述
 12-4-2 PDOによるデータ取得処理手順
 12-4-3 結果表が1行の場合
 12-4-4 全データ取得メソッド
 12-4-5 結果の連想配列から無駄を排除するフェッチモード

第13章 MVCアーキテクチャの導入
13-1 エンティティモデル
 13-1-1 エンティティとは
 13-1-2 エンティティクラスの作り方
 13-1-3 コントローラクラスでのエンティティの使い方
 13-1-4 テンプレートでのエンティティの使い方
 13-1-5 テンプレートでの非正常系への対応
 13-1-6 エンティティを使った詳細表示の動作確認
 13-1-7 エンティティモデルのメリット
 13-1-8 エンティティと連想配列の組み合わせ
 13-1-9 エンティティ+連想配列を使ったリスト画面の作り方
 13-1-10 表示リストがない場合への対応
13-2 DAOモデルとMVCアーキテクチャ
 13-2-1 コントローラクラスに散在していくSQLとDAOモデル
 13-2-2 DAOクラスの作り方
 13-2-3 DAOクラスをコントローラから利用する
 13-2-4 MVCアーキテクチャの完成とMVCモデルとは
 13-2-5 トランザクションと例外処理の扱い
 13-2-6 残りのメソッドをDAOと連携させる
13-3 リダイレクト遷移
 13-3-1 登録完了時のURL
 13-3-2 データベース更新処理後はリダイレクト

第14章 エラーハンドラ
14-1 エラー画面
 14-1-1 showMemberDetailの遷移の種類
 14-1-2 エラー画面表示ロジックの実装
14-2 Slimでのエラーの扱いとエラーミドルウェア
 14-2-1 Slimでのエラーの扱い
 14-2-2 Slimのエラーハンドラはミドルウェア
 14-2-3 Slimではルーティングもミドルウェア
 14-2-4 addErrorMiddleware()の3個の引数
14-3 エラー画面のカスタマイズ
 14-3-1 エラー画面をカスタマイズできるエラーレンダラクラス
 14-3-2 デフォルトレンダラクラスとのコンボ
 14-3-3 例外の種類に応じて表示画面を分岐
 14-3-4 手動で例外を発生させる
 14-3-5 例外の投げ直しと$logErrorDetails
 14-3-6 $isRedirectフラグの真の働き
 14-3-7 エラーレンダラに独自例外を組み込む
 14-3-8 その他のメソッドのエラー画面表示を集約する

第15章 Herokuでの実稼働
15-1 Herokuでデータベースの利用
 15-1-1 HerokuのDyno作成とGitHub連携
 15-1-2 Heroku Postgresの導入
15-2 Config VarsとHeroku Postgresへの接続コード
 15-2-1 HerokuのConfig Vars
 15-2-2 仮想環境へのConfig Varsの追加
 15-2-3 $displayErrorDetailsの値もConfig Varsとする
 15-2-4 SocymSlimMVCプロジェクトのDB接続情報の変更
 15-2-5 エラー表示切り替えコードの変更

本ページへのリンクには、このロゴをご利用ください。


著作権情報個人情報保護について広告掲載についてRSSフィードについて
出版社の方々へ会社概要スタッフ紹介サイトマップ  
書籍/記事に関するご質問/お問い合わせは「WINGSお問い合わせフォーム」をご利用ください。
Copyright(c) 1998-2020,Yamada Yoshihiro.  All Right Reserved.