API Platformを活用したPHPによる本格的なWeb API開発(エンジニア選書) [単行本]
    • API Platformを活用したPHPによる本格的なWeb API開発(エンジニア選書) [単行本]

    • ¥3,960119 ゴールドポイント(3%還元)
    • 在庫あり2026年3月9日月曜日までヨドバシエクストリームサービス便(無料)がお届け
100000009004211762

API Platformを活用したPHPによる本格的なWeb API開発(エンジニア選書) [単行本]



ゴールドポイントカード・プラスのクレジット決済で「書籍」を購入すると合計12%ゴールドポイント還元!合計12%還元書籍の購入はゴールドポイントカード・プラスのクレジット決済がお得です。
通常3%ゴールドポイント還元のところ、後日付与されるクレジット決済ポイント(1%)と特典ポイント(6%)、さらにご利用明細WEBチェックにご登録いただくと2%追加して合計12%ゴールドポイント還元!詳しくはこちら

価格:¥3,960(税込)
ゴールドポイント:119 ゴールドポイント(3%還元)(¥119相当)
フォーマット:
お届け日:在庫あり今すぐのご注文で、2026年3月9日月曜日までヨドバシエクストリームサービス便(無料)がお届けします。届け先変更]詳しくはこちら
出版社:技術評論社
販売開始日: 2026/02/27
お取り扱い: のお取り扱い商品です。
ご確認事項:返品不可
店舗受け取りが可能です
マルチメディアAkibaマルチメディア梅田マルチメディア博多にて24時間営業時間外でもお受け取りいただけるようになりました

API Platformを活用したPHPによる本格的なWeb API開発(エンジニア選書) の 商品概要

  • 要旨(「BOOK」データベースより)

    関連仕様から設計思想、実装テクニックまで、Web API開発に必要な知識を網羅。表面的な使い方にとどまらず、原理を理解して使いこなせるよう解説。OpenAPIとハイパーメディアAPI(JSON‐LD・Hydra)の概念を理解。OAuth2.0・OpenID Connectを理解し、IDaaSを活用した堅牢な認証を実装。大規模運用に耐えうるスケーラビリティとパフォーマンスの最適化。API Platform v4以降のLaravelサポートにも対応。
  • 目次

    はじめに
    対象読者
    本書のゴール
    本書を読むにあたって
    謝辞

    第1章 API Platformの基礎
    1.1 Web APIの基礎
    1.1.1 Web APIとは
    1.1.2 Web APIの重要性
    1.2 API Platformとは
    1.2.1 Symfonyとは
    1.2.2 Laravelとは
    1.2.3 API Platform CoreとSymfonyとLaravel
    1.3 API Platformを利用する準備
    1.3.1 PHPとPostgreSQLの環境の用意
    1.3.2 Symfony CLIのインストール
    1.3.3 Symfonyのインストール
    1.3.4 API Platformのインストール
    1.3.5 動作確認
    1.4 API Platformの全体像
    1.4.1 APIリソース
    1.4.2 APIリソースに対するオペレーション
    1.4.3 リクエストからレスポンスまでの流れ
    1.4.4 APIドキュメントの自動生成

    第2章 データベースとの連携
    2.1 Doctrineによるデータベース操作の基本
    2.1.1 Doctrineとは
    2.1.2 ActiveRecordとData Mapper
    2.1.3 Doctrineがデータを扱う仕組み
    2.1.4 マッピングメタデータ
    2.1.5 エンティティマネージャー・Unit of Work・リポジトリ
    2.1.6 データベースからのデータの取得
    2.1.7 データベースへのデータの保存
    2.2 エンティティクラスとリポジトリクラスの作成
    2.2.1 symfony/maker-bundleによる自動生成
    2.2.2 Articleエンティティの作成
    2.2.3 Articleエンティティクラスの内容
    2.2.4 Commentエンティティの作成
    2.2.5 Commentエンティティクラスの内容
    2.2.6 リポジトリクラスの内容
    2.3 データベースのマイグレーション
    2.4 APIの動作確認
    2.5 ユーザー入力のバリデーション
    2.5.1 バリデーションの設定方法
    2.5.2 エラーメッセージの日本語化

    第3章 ステートプロバイダーとステートプロセッサーによるデータの取得と保存
    3.1 ステートプロバイダー・ステートプロセッサーとは
    3.1.1 デフォルトのステートプロバイダー
    3.1.2 デフォルトのステートプロセッサー
    3.2 ステートプロバイダー・ステートプロセッサーを独自に実装する
    3.2.1 サンプルアプリケーションへの要件追加
    3.2.2 カスタムステートプロバイダーの作成
    3.2.3 カスタムステートプロセッサーの作成
    3.3 Symfonyのサービスコンテナ
    3.3.1 サービスとは
    3.3.2 依存性の注入とは
    3.3.3 DIコンテナとは
    3.3.4 機能拡張ポイントとしてのサービスコンテナ

    第4章 OpenAPIのサポート
    4.1 API PlatformとOpenAPI
    4.1.1 OpenAPIとは
    4.1.2 OpenAPIドキュメントのカスタマイズ
    4.2 OpenAPIとJSON Schema
    4.2.1 パラメーターのスキーマの変更
    4.2.2 リクエストボディ・レスポンスボディのスキーマの変更
    4.3 OpenApiFactoryの拡張
    4.3.1 サンプルアプリケーションへの要件追加
    4.3.2 OpenApiFactoryを拡張する
    4.4 SchemaFactoryの拡張
    4.4.1 サンプルアプリケーションの仕様変更
    4.4.2 OpenApiFactoryを拡張する
    4.4.3 SchemaFactoryを拡張する
    4.5 JSON-LDとHydra
    4.5.1 JSON-LDとは
    4.5.2 Hydraとは

    第5章 シリアライゼーション
    5.1 シリアライゼーションの仕組み
    5.1.1 シリアライゼーションとは
    5.1.2 API Platformにおけるシリアライゼーション
    5.2 シリアライゼーション処理のカスタマイズ
    5.2.1 レスポンスボディへの出力に含めるプロパティを制御する
    5.2.2 リクエストボディからの入力に含めるプロパティを制御する
    5.2.3 関連リソースを埋め込む
    5.3 循環するリソースのシリアライゼーション
    5.3.1 サンプルアプリケーションへの要件追加
    5.3.2 強制的にIRI文字列にシリアライズする
    5.3.3 シリアライズの最大深さを設定する
    5.4 シリアライゼーションに関するその他の機能
    5.4.1 計算フィールド
    5.4.2 日付や日時のフォーマットの指定

    第6章 オペレーションのカスタマイズ
    6.1 オペレーションの追加
    6.2 オペレーションの無効化
    6.3 オペレーションの非推奨化
    6.4 サブリソースによる親子関係の表現
    6.4.1 サブリソースを用いたGETコレクションオペレーション
    6.4.2 サブリソースを用いたPOSTコレクションオペレーション
    6.5 システムプロバイダーとシステムプロセッサー
    6.6 ファイルアップロード処理
    6.6.1 サンプルアプリケーションへの要件追加
    6.6.2 vich/uploader-bundleのインストール
    6.6.3 ファイルからMediaObjectエンティティへの変換
    6.6.4 リクエストボディのデシリアライゼーション
    6.6.5 保存済みのファイルの公開URLの生成
    6.6.6 動作確認
    6.7 サービスタグとautoconfigure

    第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 SearchFilterによる文字列検索
    7.2.2 DateFilterによる日付の絞り込み
    7.2.3 BooleanFilterによる真理値の絞り込み
    7.2.4 NumericFilterによる数値検索
    7.2.5 RangeFilterによる数値の範囲での絞り込み
    7.2.6 ExistsFilterによる値の有無での絞り込み
    7.2.7 OrderFilterによる並べ替え
    7.2.8 関連リソースのプロパティに対する絞り込み
    7.3 デフォルトの並び順の変更
    7.4 QueryParameterクラスへの移行に向けて
    7.5 カスタムフィルターとExtension
    7.5.1 カスタムフィルター
    7.5.2 Extension

    第8章 ユーザー認証とアクセス制御
    8.1 認証と認可
    8.2 ステートフルとステートレス
    8.3 セッションとCookie
    8.4 Bearerトークン
    8.4.1 発行プロセスの静的・動的による分類
    8.4.2 透明性による分類
    8.4.3 JWT
    8.5 OAuth 2.0とOpenID Connect
    8.5.1 OAuth 2.0
    8.5.2 OpenID Connect
    8.6 API Platformにおける認証
    8.6.1 基本的なセキュリティ設定
    8.6.2 IDaaSを利用した認証の実装
    8.7 API Platformにおける認可
    8.7.1 アクセス制御の基本
    8.7.2 Voterを用いた複雑な権限管理
    8.7.3 ユーザーごとに異なるコンテンツを提供する
    8.8 OpenAPIドキュメントへの認証仕様の反映
    8.9 開発環境で認証処理をモック化する

    第9章 キャッシュ戦略
    9.1 HTTPキャッシュの仕様を理解する
    9.1.1 HTTPキャッシュの基本
    9.1.2 条件付きリクエストによるキャッシュの再検証
    9.1.3 共有キャッシュとプライベートキャッシュ
    9.1.4 Cache-Controlヘッダー
    9.1.5 Varyヘッダー
    9.2 API Platformにおけるキャッシュ戦略
    9.2.1 キャッシュ関連ヘッダーの設定方法
    9.2.2 キャッシュ無効化システムの概要
    9.2.3 キャッシュ無効化システムの使用方法
    9.2.4 動作確認

    第10章 テストの実装
    10.1 テストの分類
    10.2 テストのための準備
    10.3 単体テストの実装
    10.4 機能テストのための準備
    10.4.1 テスト用データベースの準備
    10.4.2 テストフィクスチャーの準備
    10.4.3 現在日時のモック化
    10.4.4 JSON Schemaを利用したテストの準備
    10.5 機能テストの実装
    10.5.1 基本的な機能テスト
    10.5.2 サービスのモック化を用いたファイルアップロードのテスト
    10.5.3 dama/doctrine-test-bundleの導入
    10.5.4 スナップショットテストの導入

    第11章 フロントエンドとの連携
    11.1 フロントエンドアプリケーションの準備
    11.2 OpenAPI TypeScriptによるAPI型定義の自動生成
    11.3 フロントエンドアプリケーションの実装
    11.3.1 サーバーサイドからのAPIリクエスト
    11.3.2 クライアントサイドからのAPIリクエスト
    11.4 CORS対応
    11.4.1 オリジンとは
    11.4.2 CORSとは
    11.4.3 API PlatformにおけるCORS対応
    11.4.4 本番環境への適用に向けて
    11.5 API型定義における非推奨な仕様に対する警告
    11.6 IDaaSとの連携

    付録 API Platformのさらなる活用
    Appendix 1 コンテントネゴシエーション
    Appendix 2 GraphQLへの対応
    Appendix 3 管理画面の実装
    Appendix 4 レートリミットの実装

    おわりに
    著者プロフィール
    参考文献
    索引
  • 内容紹介

    API Platformは、PHPでWeb APIを開発するためのフレームワークです。日本語の情報や国内で公表されている採用事例はまだ多くはないものの、国際的にはすでに高い人気と多数の採用実績を誇り、PHPでREST APIやGraphQL APIを開発する手段として最有力候補の1つとなっています。API Platformはたった1行のコードの追記でCRUDとAPIドキュメントが生成されるなど手軽に入門できる一方で、本格的に使いこなすにはAPI Platformの機能そのものに加えてOpenAPIやJSON-LDといった関連する標準仕様などに対しても深い理解が求められる側面があり、入門と実用の間にはそれなりに大きな溝があります。本書は、この溝を一気に埋めてくれる一冊です。API Platformを複数の実務案件で活用し、ソースコードにも多数コントリビュートしている著者が、本格的な活用のために必要な実装テクニックや周辺知識を余すところなく徹底的に解説します。
  • 著者紹介(「BOOK著者紹介情報」より)(本データはこの書籍が刊行された当時に掲載されていたものです)

    金本 貴志(カネモト タカシ)
    株式会社Kannade代表取締役。プログラマー。主にWebシステムの受託開発や社外CTO/技術顧問などの技術経営コンサルティングに従事。2008年に富士通株式会社に新卒入社したのち、2012年から株式会社カルテットコミュニケーションズ(2011年設立)にCTOとして8年間在籍。同社では自社サービスと開発組織の立ち上げを行い、創業期の急速な事業成長に貢献。フリーランスを経て2022年に株式会社Kannadeを設立し、現職。技術カンファレンスやセミナーでの登壇多数。SymfonyやAPI Platformなど愛用するOSSへのコントリビュートも多数。私生活では4歳の娘と1歳の息子の子育てに奮闘中(本書発行当時)
  • 著者について

    金本 貴志 (カネモト タカシ)
    株式会社Kannade 代表取締役。プログラマー。主にWebシステムの受託開発や社外CTO/技術顧問などの技術経営コンサルティングに従事。2008年に富士通株式会社に新卒入社したのち、2012年から株式会社カルテットコミュニケーションズ(2011年設立)にCTOとして8年間在籍。同社では自社サービスと開発組織の立ち上げを行い、創業期の急速な事業成長に貢献。フリーランスを経て2022年に株式会社Kannadeを設立し、現職。前著に「基本からしっかり学ぶ Symfony2入門」(共著、技術評論社、2015年)。技術カンファレンスやセミナーでの登壇多数。SymfonyやAPI Platformなど愛用するOSSへのコントリビュートも多数。私生活では4歳の娘と1歳の息子の子育てに奮闘中(本書発行当時)。X/Twitter: @ttskch

API Platformを活用したPHPによる本格的なWeb API開発(エンジニア選書) の商品スペック

商品仕様
出版社名:技術評論社
著者名:金本 貴志(著)
発行年月日:2026/03/12
ISBN-10:4297154919
ISBN-13:9784297154912
判型:B5
対象:専門
発行形態:単行本
内容:電子通信
言語:日本語
ページ数:560ページ
縦:23cm
他の技術評論社の書籍を探す

    技術評論社 API Platformを活用したPHPによる本格的なWeb API開発(エンジニア選書) [単行本] に関するレビューとQ&A

    商品に関するご意見やご感想、購入者への質問をお待ちしています!