内容简介
《Web API开发实战:基于Laravel框架》紧扣当前互联网开发需求和技术趋势,系统讲解Laravel框架下的REST API开发。第1章简述REST API基础,包括其必要性、协议规范及资源操作等,奠定开发理论基石。第2章详述开发环境搭建,覆盖所需软件工具的安装与配置。第3章解析Laravel框架核心,介绍MVC架构及Laravel项目结构。第4-10章通过实践案例,深入路由、中间件、控制器、Eloquent模型及模型关系的应用,涵盖API资源访问验证等关键技能。全书配备丰富的代码示例与实践指导,为读者铺设一条清晰的Laravel REST API开发学习之路。
目录
第1章 初识REST API
1.1 使用REST API的必要性
1.2 协议、域名和版本
1.3 资源路径
1.4 资源操作
1.5 状态码
1.6 返回结果
第2章 开发环境
2.1 软件清单
2.2 安装与配置
2.2.1 Chrome浏览器
2.2.2 Postman工具
2.2.3 XAMPP建站集成软件包
2.2.4 PhpStorm集成开发工具
2.2.5 Composer管理PHP项目工具
第3章 框架核心
3.1 核心概念
3.1.1 MVC概念浅析
3.1.2 解析Laravel MVC
3.2 Laravel框架概览
3.2.1 Laravel应用入口
3.2.2 请求处理流程
3.2.3 Laravel项目结构
第4章 路由实践
4.1 路由示例浅析
4.2 不同请求方式的路由
4.2.1 GET请求方式路由
4.2.2 POST请求方式路由
4.2.3 PUT、PATCH请求方式路由
4.2.4 DELETE请求方式路由
4.2.5 match和any匹配请求方式
4.3 Resource路由
4.3.1 Resource路由概念
4.3.2 Resource路由实施
4.4 重定向路由、视图路由和兜底路由
4.4.1 重定向路由
4.4.2 视图路由
4.4.3 兜底路由
4.5 路由参数和路由组
4.5.1 路由参数
4.5.2 路由组
4.6 路由模型绑定
4.6.1 隐式绑定
4.6.2 显式绑定
4.6.3 自定义解析逻辑
第5章 中间件实践
5.1 认识中间件
5.1.1 全局中间件
5.1.2 Web或API中间件
5.1.3 路由中间件
5.1.4 使用中间件
5.2 自定义中间件
5.2.1 用命令创建中间件并完善代码
5.2.2 注册中间件
5.2.3 前置操作和后置操作
第6章 控制器实践
6.1 创建控制器
6.2 单行为控制器
6.3 Resource控制器
6.4 API Resource控制器
6.5 注入
6.5.1 构造注入
……
第7章 Eloquent模型实践
第8章 模型关系实践
第9章 API资源访问验证实践
第10章 Web API项目实战
前言/序言
Web项目开发技术众多,分为Java、Python、Ruby、PHP、Node. js、Golang和.NET等不同阵营,各阵营间互相角逐,都有各自不错的Web开发框架供选择。Web开发框架有同步的、异步的、全家桶式的、轻量级的等。
PHP语言是开发中小型Web项目的第一主力语言,市面上70%左右的Web项目使用PHP开发。
Laravel开发框架是一套简洁、优雅的PHP Web开发框架,它可以让开发者从杂乱的代码中解脱出来,快速构建一个完美的Web应用,并且每行代码都可以简洁、富有表达力。
REST API项目架构是目前流行的一种互联网软件架构。它将网站资源的操作通过“动词+宾语”的URL结构进行标识,即将HTTP协议方法映射到对应的增、删、改、查业务逻辑上。其结构清晰、符合标准、易于理解、扩展方便,适用于当前移动互联前端设备多样化和前端技术多变需求,是前后端分离开发的最佳实践之一。通常Web API开发就是指REST API应用开发,而本书Web API项目实践,就是采用Laravel框架开发REST API项目。
本书细致描述开发环境安装和配置过程,就REST API、Laravel开发框架的基础和核心概念做出必要解析,并对各分类技术点进行有针对性的实践演练,包括路由实践、中间件实践、控制器实践、Eloquent模型实践和模型关系实践等。最后以一个后端实践项目“影片信息管理”来增强Web API实践开发技能。
书中涉及XAMPP、Apache、MySQL、phpMyAdmin等众多产品,以及Laravel框架的相关技术,按照实践所需,进行了必要解说或适当深入。此书是上海城建学院人工智能专业群教师团队精诚合作的智慧成果,其成功问世离不开学院的鼎力支持与多家合作企业的无私协助,对此我们满怀感激之情。然而,鉴于作者的知识局限及成书时间的紧迫性,书中或许存在不足之处,我们诚挚邀请广大读者提出宝贵意见与批评指正,以期不断完善。