使用Laravel 8 PHP主流框架打造RESTful API(iT邦幫忙鐵人賽係列書) (電子書)

使用Laravel 8 PHP主流框架打造RESTful API(iT邦幫忙鐵人賽係列書) (電子書) pdf epub mobi txt 電子書 下載 2025

王盛立
圖書標籤:
  • Laravel
  • PHP
  • RESTful API
  • Web API
  • iT邦幫忙
  • 鐵人賽
  • 框架
  • 開發
  • 電子書
  • 後端開發
想要找書就要到 小特書站
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

具體描述

  全颱第一本 Laravel 8!

  手把手的教學,立馬擁有寫程式的一技之長!
  完整的規劃,學習如何一步一步打造 API

  ✦入門PHP基礎、物件導嚮、開始使用 Laravel。
  ✦使用 Laravel 打造 RESTful API。
  ✦學會如何重構優化 API 以及大型係統設計的正確思路。

  本書改編自第11屆iT邦幫忙鐵人賽 Modern Web 組優選網路係列文章---《使用 Laravel 打造 RESTful API》,適用目前最新版 Laravel 8 的版本,使用簡單易懂的方式從如何使用 PHP 以及 Laravel 框架開始到進階學習設計模式,完成一個 RESTful API係統,這本書將帶給您一套基礎職前訓練。

  API 可以把它想像成網路世界的郵差或餐廳的服務生,跟服務生說我要點一份蝦仁炒飯,服務生將開始一連串的動作,跟客人確認餐點、送單、等待廚師完成餐點、端到客人桌上,客人隻需要跟服務生說我要蝦仁炒飯這幾個字,這就是 API,給需要的資料,等待結果迴應,目前很多的應用程式像是聊天機器人、開放銀行或是使用 Facebook 帳號登入、註冊其他的網站...這些功能都要使用到 API 來溝通,未來5G物聯網的來臨,懂得API技術,勢必是必要的技能。

  ❄本書建議訓練流程

  起始➔實作➔優化

  起始:基本 PHP,結閤第二專長
  ✦PHP 基礎入門、物件導嚮設計模式。
  ✦開始使用 Laravel PHP 框架。
  ✦發現有興趣的議題結閤 API 係統規劃。

  實作:完成一個 RESTful API 的內容管理係統
  ✦新增、刪除、修改、查詢 RESTful API 實作教學。
  ✦輸入錶單驗證,擁有安全的輸入資料。
  ✦統一輸齣迴應的格式。
  ✦身分驗證、權限分組。

  優化:學會如何寫齣具有一定品質的程式碼
  ✦重構的評估、功能測試、開始重構。
  ✦完成的 API 尚有不足的地方分享作者的重構經驗。
  ✦自動產生 API 文件。
現代Web開發實戰:基於主流PHP框架構建高性能RESTful API 本書麵嚮對構建健壯、可擴展、高性能API有實際需求的開發者,旨在提供一套係統化、實戰驅動的方法論,徹底掌握當前PHP生態中最主流的框架及其最佳實踐。 在這個API驅動的時代,無論是移動應用、單頁前端(SPA)還是微服務架構,都離不開穩定可靠的後端服務支撐。本書將帶領讀者深入探索如何利用業界公認的成熟技術棧,從零開始構建符閤現代設計原則的RESTful API服務。 第一部分:夯實基礎與架構選型 本部分將首先確立現代API開發的基石,幫助讀者理解為何選擇特定的技術棧,以及如何從項目伊始就進行閤理的架構規劃。 1. 深入理解RESTful架構的核心原則: 我們將詳細剖析Roy Fielding定義的REST約束,不僅僅停留在CRUD操作上,更會探討冪等性、無狀態性、資源定位URI的設計藝術,以及如何有效地使用HTTP動詞和狀態碼來傳達API的行為和結果。如何設計齣清晰、版本化(Versioning)的URL結構,確保API的長期可維護性。 2. PHP生態現狀與框架選擇的權衡: 當前PHP生態中不乏優秀的框架,本書將聚焦於當前企業級應用中最常用、社區支持最活躍的框架。我們將對比不同框架在性能、學習麯綫、生態豐富度和企業采用率上的差異,幫助讀者理解當前選擇的閤理性。 3. 現代開發環境的搭建與版本控製最佳實踐: 高效的開發始於穩定的環境。本書將指導讀者使用Docker或Vagrant快速部署一緻的開發環境,確保本地、測試和生産環境的兼容性。同時,我們將討論Git Flow、Pull Request(PR)流程在API開發團隊中的應用,以及如何利用代碼審查(Code Review)提升代碼質量。 4. 依賴管理與PSR規範: Composer作為PHP的事實標準依賴管理器,其高級用法至關重要。我們將探討如何管理復雜的依賴關係、鎖定版本,並深入學習PSR(PHP Standard Recommendations)規範,確保代碼遵循社區公認的最佳實踐,增強互操作性。 第二部分:框架核心與API快速構建 本部分將進入實戰階段,詳細講解如何利用選定的主流框架的強大功能快速搭建起API的基礎骨架,並實現核心業務邏輯。 1. 路由與控製器設計模式: 學習如何構建清晰的路由結構,理解資源路由(Resource Routing)的便捷性。我們將重點討論控製器(Controller)的設計原則,如何保持控製器方法的輕量化,並將復雜的業務邏輯分離到服務層(Service Layer),實現關注點分離(Separation of Concerns)。 2. 數據持久化:ORM的深度應用: 數據庫交互是API的核心。本書將詳細介紹框架內置的對象關係映射(ORM)工具,包括模型(Model)的定義、關係(Relationships,如一對多、多對多)的配置和高效查詢(Eager Loading, Lazy Loading)的策略。特彆強調如何編寫預防SQL注入和優化查詢性能的Eloquent/Doctrine代碼。 3. 輸入驗證與數據轉換(Request/Form Request): API的健壯性很大程度上取決於輸入數據的可靠性。我們將展示如何使用框架提供的內置驗證係統,定義復雜的驗證規則,並實現自定義的錯誤信息返迴機製。學習如何將HTTP請求數據安全、優雅地轉換為應用內部所需的數據結構。 4. 響應構建與序列化: API的輸齣格式必須標準化。我們將介紹如何使用數據轉換器(Transformers)或序列化組件,將數據庫中的復雜對象精確地轉換為符閤REST規範的JSON結構,確保數據類型準確、字段清晰可見,並實現數據過濾和嵌套資源展示。 第三部分:安全、性能與部署 一個投入生産環境的API必須是安全、快速且易於維護的。本部分專注於提升API的非功能性需求。 1. API認證與授權機製(Authentication & Authorization): 身份驗證是API安全的生命綫。我們將全麵覆蓋基於Token的身份驗證機製,重點講解OAuth 2.0和JWT(JSON Web Token)的實現原理與實踐。深入討論權限控製(RBAC或ACL),確保用戶隻能訪問其被授權的資源。 2. 速率限製與防範常見攻擊: 為瞭保護服務器資源,速率限製(Rate Limiting)是必不可少的。本書將指導如何基於IP或用戶ID實現精細的請求限流策略。同時,我們將探討如何防範CSRF(雖然在無狀態API中不常見,但理解其原理重要)、中間件的應用來攔截惡意請求。 3. 緩存策略的實施: 性能瓶頸往往齣現在數據庫I/O上。我們將介紹多種緩存層麵的優化技術,包括使用Redis或Memcached進行數據緩存、查詢結果緩存、片段緩存以及HTTP緩存頭(Etag, Last-Modified)的應用。 4. 完善的錯誤處理與日誌記錄: 優雅的錯誤處理是用戶體驗的一部分。我們將建立統一的異常處理機製,確保所有API錯誤都返迴標準化的JSON錯誤響應(包含錯誤碼和描述)。同時,配置結構化日誌(如使用Monolog),以便於故障排查和監控。 5. API文檔自動化與測試驅動開發(TDD): API的易用性依賴於準確的文檔。我們將介紹如何集成工具自動生成交互式API文檔(如Swagger/OpenAPI規範)。最後,強調單元測試和特性測試的重要性,指導讀者編寫覆蓋路由、業務邏輯和數據層的自動化測試,以確保重構的信心。 目標讀者: 具備一定PHP基礎,希望係統學習如何利用現代框架構建企業級、可擴展RESTful API的Web開發者、技術主管和架構師。 學習成果: 完成本書學習後,讀者將能夠獨立設計、開發、測試、保護並部署符閤行業標準的、高性能的PHP驅動的RESTful API服務。

著者信息

作者簡介

王盛立


  開發PHP有三年以上的業界經驗,善於係統開發、整理資料、分析資料。

  第11屆以《使用 Laravel 打造 RESTful API》得到iT邦幫忙鐵人賽Modern Web組優選以及COSCUP 2020 PostgreSQL 社群議程 《關於關聯這件事 - 後端認識外鍵約束》 講者。

圖書目錄

01 開發環境
1.1 安裝 XAMPP
1.2 安裝編輯器
1.3 套件管理–Composer
1.4 開發 API 工具–Postman
1.5 版本控製–Git
1.6 小練習–port 是什麼?

02 PHP 介紹
2.1 PHP 檔案
2.2 基本語法
2.3 控製流程
2.4 函數(function)
2.5 小練習–延伸閱讀

03 PHP 物件導嚮設計
3.1 什麼是物件導嚮?
3.2 類別(Class)
3.3 繼承(Extends)
3.4 封裝(Encapsulation)
3.5 介麵(Interface)
3.6 命名空間(namespace)
3.7 小練習–我的理解

04 RESTful API
4.1 Web API
4.2 HTTP 傳輸協定
4.3 HTTP 動詞
4.4 HTTP 標頭
4.5 HTTP 狀態碼
4.6 HTTP Body
4.7 第一次開發網站的我
4.8 REST 風格
4.9 小練習:決定一個資源

05 進入Laravel、規劃係統核心目的
5.1 安裝 Laravel
5.2 新增資料庫
5.3 設定資料庫管理帳號
5.4 Laravel 環境變數檔案設定
5.5 從生活找到動力–係統構想
5.6 情境分析–具體目標
5.7 小練習–Git 初始化環境

06 新增資源
6.1 定義一個資源
6.2 新建資源檔案
6.3 MVC 架構
6.4 資料庫結構
6.5 資料庫規劃
6.6 實作 Migration
6.7 新建動物的功能
6.8 嘗試可不可以運行
6.9 小練習–Git 目前進度

07 刪除資源以及異常處理
7.1 實作刪除功能
7.2 Delete 動詞迴應資料
7.3 嘗試可不可以運行
7.4 異常錯誤處理
7.5 小練習–Laravel 軟體刪除

08 更新資源
8.1 PUT | PATCH 動詞的差別
8.2 嘗試可不可以運行更新動物
8.3 HTTP Content–Type header
8.4 小練習–_method

09 查詢資源
9.1 兩種查詢資源的動作
9.2 查詢單一資源資料
9.3 查詢資源列錶
9.4 Factory 產生資料
9.5 資源列錶限製
9.6 資源列錶分頁
9.7 JSON 格式建議
9.8 資源列錶篩選
9.9 資源列錶排序
9.10 資源列錶快取
9.11 小練習–Model 查詢以及集閤運用

10 錶單驗證以及語係設定
10.1 前言
10.2 安全的輸入資料
10.3 嘗試可不可以運行
10.4 設定係統語係
10.5 小練習–查詢 Laravel 官方文件

11 Model 關聯以及統一輸齣
11.1 分類資源 CRUD
11.2 嘗試讓 API 迴傳以下結果
11.3 建立模型關聯–一對多
11.4 Resource 轉換格式
11.5 分析需求統一輸齣格式
11.6 補強新增、更新動物資源功能
11.7 小練習–關聯式資料庫

12 身分驗證
12.1 加入會員認證
12.2 註冊帳號
12.3 Laravel 安裝 Passport 身分驗證套件
12.4 設定 Passport
12.5 OAuth2 認證機製 Token 原理
12.6 設定操作資源需驗證的方法
12.7 密碼授權取得 Token
12.8 自訂 Token 過期時間
12.9 刷新 access_token
12.10 SCOPE
12.11 客戶端憑證授權
12.12 修改由身分驗證寫入 user_id
12.13 小練習–Passport 其他授權方式
12.14 小練習–中介層是什麼?

13 需求變更
13.1 修改資料錶新建 Migration
13.2 Policy 會員權限原則設計
13.3 增加需求–我的最愛追蹤功能
13.4 小練習–try…catch…資料庫交易

14 容易擴充維護的 API
14.1 URI 格式
14.2 Resource | Utility API
14.3 設定請求次數
14.4 CORS
14.5 快取機製
14.6 HTTPS
14.7 其它建議
14.8 小練習–CORS 體驗

15 重構的觀念
15.1 什麼是重構?
15.2 評估現有的程式碼
15.3 重構步驟
15.4 大型專案設計模式
15.5 小練習–VSCode 建議安裝套件

16 測試的初探
16.1 為什麼寫測試
16.2 測試檔案命名規則
16.3 重置資料庫
16.4 建立測試資料庫
16.5 功能測試
16.6 結論

17 開始重構程式碼
17.1 Request 驗證資料檔案
17.2 Service 設計架構
17.3 結論

18 更好的自己更好的 API
18.1 直接動手做(心情分享)
18.2 修改原本設計的 URI
18.3 API 的 Controller 歸類在一個資料夾中
18.4 如何安心升級 Laravel 7 到 8

19 產生 API 文件
19.1 安裝套件
19.2 設定 API 說明文件基本資訊
19.3 註解關鍵字介紹
19.4 總結
19.5 小練習–建立 API 流程心法
19.6 小練習–正式上線設定建議

20 附錄
20.1 Mac 更新 PHP
20.2 常見 HTTP 狀態碼總覽

圖書序言

  • ISBN:9789864345304
  • 規格:普通級 / 初版
  • 齣版地:颱灣
  • 檔案格式:EPUB固定版型
  • 建議閱讀裝置:平闆
  • TTS語音朗讀功能:無
  • 檔案大小:230.3MB

圖書試讀

用戶評價

相關圖書

本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 ttbooks.qciss.net All Rights Reserved. 小特书站 版權所有