全台第一本 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 文件。
作者簡介:
王盛立
開發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 狀態碼總覽
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 HTT...
購物須知
關於二手書說明:
商品建檔資料為新書及二手書共用,因是二手商品,實際狀況可能已與建檔資料有差異,購買二手書時,請務必檢視商品書況、備註說明及書況影片,收到商品將以書況影片內呈現為準。若有差異時僅可提供退貨處理,無法換貨或再補寄。
商品版權法律說明:
TAAZE 單純提供網路二手書託售平台予消費者,並不涉入書本作者與原出版商間之任何糾紛;敬請各界鑒察。
退換貨說明:
二手書籍商品享有10天的商品猶豫期(含例假日)。若您欲辦理退貨,請於取得該商品10日內寄回。
二手影音商品(例如CD、DVD等),恕不提供10天猶豫期退貨。
二手商品無法提供換貨服務,僅能辦理退貨。如須退貨,請保持該商品及其附件的完整性(包含書籍封底之TAAZE物流條碼)。若退回商品無法回復原狀者,可能影響退換貨權利之行使或須負擔部分費用。
訂購本商品前請務必詳閱
退換貨原則、
二手CD、DVD退換貨說明。