主编推荐语
PHP7全栈开发实用教程:28章涵盖技术、常用模块、数据库设计,配套微信小程序供新手、网络开发人员参考。
内容简介
本书是畅销书升级版,全书共分为28章,每章都是PHP独立知识点的总结,全部以现在最新的PHP7以上版本应用语法为主。内容涵盖了动态网站开发所需要的后端全栈技术、PHP的常用功能模块和实用技巧、MySQL和Redis两种数据库的设计与应用、PHP面向对象的程序设计思想、数据库抽象层PDO、Web开发的设计模式、自定义接口技术、全球应用排行第一的Laravel5.5框架技术,并专门组建专业的开发团队为本书重新开发商业项目EUDPlayer作为案例等。每章都有大量的实用示例及详尽的注释,以加速读者的理解和学习,并为本书单独开发一个微信小程序(图书兄弟),提供和章节配套的精制视频教程、案例和课件下载、扩展文章、章节测试等多方位内容。对于PHP应用开发的新手而言,本书不失为一本好的入门教材,内容既实用又全面,所有实例都可以在开发中直接应用,并辅以配套的视频教程,使读者轻松掌握所学知识。另外,本书也适合有一定基础的网络开发人员和网络爱好者,以及大中专院校的师生阅读与参考。不仅可以作为PHP开发的学习用书,还可以作为从事Web开发的程序员的参考用书和必备手册。对于行家来说,本书也是一本难得的参考手册,读者必将从中获益。
目录
- 封面
- 作者简介
- 扉页
- 版权信息
- 推荐序
- 前言
- 目录
- 第1章 LAMP网站构建
- 1.1 Web概述
- 1.1.1 Web应用的优势
- 1.1.2 Web 2.0时代的互联网
- 1.1.3 Web开发标准
- 1.1.4 认识脚本语言
- 1.2 动态网站开发所需的Web构件
- 1.2.1 客户端浏览器
- 1.2.2 超文本标记语言(HTML)
- 1.2.3 层叠样式表(CSS)
- 1.2.4 客户端脚本编程语言JavaScript
- 1.2.5 Web服务器
- 1.2.6 服务器端编程语言
- 1.2.7 数据库管理系统
- 1.3 几种主流的Web应用程序平台
- 1.3.1 Web应用程序开发平台对比分析
- 1.3.2 动态网站开发平台技术比较
- 1.4 HTTP协议与Web的关系
- 1.4.1 HTTP协议概述
- 1.4.2 HTTP协议结构
- 1.4.3 HTTP请求消息
- 1.4.4 HTTP响应消息
- 1.4.5 HTTPS是什么
- 1.4.6 URL概述
- 1.5 Web的工作原理
- 1.5.1 情景1:不带应用程序服务器和数据库的服务器
- 1.5.2 情景2:带应用程序服务器的Web服务器
- 1.5.3 情景3:浏览器访问服务器端的数据库
- 1.6 LAMP网站开发组合概述
- 1.6.1 Linux操作系统
- 1.6.2 Web服务器Apache
- 1.6.3 MySQL数据库管理系统
- 1.6.4 PHP后台脚本编程语言
- 1.6.5 LAMP的发展趋势
- 1.6.6 Web的未来发展
- 1.7 小结
- 第2章 PHP的应用与发展
- 2.1 PHP是什么
- 2.1.1 从认识PHP开始
- 2.1.2 PHP都能做什么
- 2.2 PHP的应用
- 2.2.1 开发网站和移动网站的应用
- 2.2.2 在企业内部信息化系统中的应用
- 2.2.3 在App接口开发方面的应用
- 2.2.4 对微信公众平台二次开发的应用
- 2.2.5 微信小程序开发应用
- 2.2.6 PHP在其他方面的应用
- 2.3 PHP的开发优势
- 2.3.1 简单易学
- 2.3.2 开发效率高
- 2.3.3 开发成本低
- 2.3.4 程序执行效率高
- 2.3.5 安全性良好
- 2.3.6 功能强大
- 2.3.7 可选择性多
- 2.4 PHP的发展
- 2.4.1 PHP的诞生
- 2.4.2 PHP的迭代过程
- 2.4.3 PHP的现在
- 2.4.4 PHP的未来
- 2.5 如何学习PHP
- 2.5.1 确定学习的目标
- 2.5.2 PHP学习线路图
- 2.5.3 坚持动手实验
- 2.5.4 Bug解决之道
- 2.5.5 看教学视频,让学习变得简单
- 2.5.6 优秀的Web程序员是怎样练成的
- 2.6 小结
- 第3章 从搭建你的PHP开发环境开始
- 3.1 几种常见的PHP环境安装方式
- 3.1.1 在Linux系统上以源代码包的方式安装环境
- 3.1.2 在Windows系统上安装Web工作环境
- 3.1.3 搭建学习型的PHP工作环境
- 3.2 环境安装对操作系统的选择
- 3.2.1 选择网站运营的操作系统
- 3.2.2 选择网站开发的操作系统
- 3.3 安装集成PHP开发环境
- 3.3.1 安装前准备
- 3.3.2 安装步骤
- 3.3.3 环境测试
- 3.4 集成环境中各服务器的配置
- 3.4.1 Apache配置
- 3.4.2 改变文档根目录www的位置
- 3.4.3 修改PHP的默认配置
- 3.4.4 phpMyAdmin的应用
- 3.4.5 修改MySQL默认的访问权限
- 3.5 小结
- 第4章 PHP的基本语法
- 4.1 第一个PHP脚本程序
- 4.2 PHP语言标记
- 4.2.1 将PHP代码嵌入HTML中的位置
- 4.2.2 解读开始和结束标记
- 4.3 指令分隔符“分号”
- 4.4 程序注释
- 4.5 在程序中使用空白的处理
- 4.6 变量
- 4.6.1 变量的声明
- 4.6.2 变量的命名
- 4.6.3 可变变量
- 4.6.4 变量的引用赋值
- 4.7 变量的类型
- 4.7.1 类型介绍
- 4.7.2 布尔型(boolean)
- 4.7.3 整型(integer)
- 4.7.4 浮点型(float或double)
- 4.7.5 字符串(string)
- 4.7.6 数组(array)
- 4.7.7 对象(object)
- 4.7.8 资源类型(resource)
- 4.7.9 NULL类型
- 4.7.10 伪类型介绍
- 4.8 数据类型之间相互转换
- 4.8.1 自动类型转换
- 4.8.2 强制类型转换
- 4.8.3 类型转换细节
- 4.8.4 变量类型的测试函数
- 4.9 常量
- 4.9.1 常量的定义和使用
- 4.9.2 常量和变量
- 4.9.3 PHP新版本可以使用表达式定义常量
- 4.9.4 define()和const的区别
- 4.9.5 系统中的预定义常量
- 4.9.6 PHP中的魔术常量
- 4.10 PHP中的运算符
- 4.10.1 算术运算符
- 4.10.2 字符串运算符
- 4.10.3 赋值运算符
- 4.10.4 比较运算符
- 4.10.5 逻辑运算符
- 4.10.6 位运算符
- 4.10.7 其他运算符
- 4.10.8 运算符的优先级
- 4.11 表达式
- 4.12 容易混淆的特殊值
- 4.13 小结
- 第5章 PHP的流程控制结构
- 5.1 分支结构
- 5.1.1 单一条件分支结构(if)
- 5.1.2 双向条件分支结构(else子句)
- 5.1.3 多向条件分支结构(elseif子句)
- 5.1.4 多向条件分支结构(switch语句)
- 5.1.5 巢状条件分支结构
- 5.1.6 条件分支结构实例应用(简单计算器)
- 5.2 循环结构
- 5.2.1 while语句
- 5.2.2 do…while循环
- 5.2.3 for语句
- 5.3 特殊的流程控制语句
- 5.3.1 break语句
- 5.3.2 continue语句
- 5.3.3 exit语句
- 5.4 PHP的新版特性——goto语句
- 5.5 小结
- 第6章 PHP的函数应用
- 6.1 函数的定义
- 6.2 自定义函数
- 6.2.1 函数的声明
- 6.2.2 函数的调用
- 6.2.3 函数的参数
- 6.2.4 函数的返回值
- 6.2.5 标量类型声明
- 6.3 函数的工作原理和结构化编程
- 6.4 PHP变量的范围
- 6.4.1 局部变量
- 6.4.2 全局变量
- 6.4.3 静态变量
- 6.5 声明及应用各种形式的PHP函数
- 6.5.1 常规参数的函数
- 6.5.2 伪类型参数的函数
- 6.5.3 引用参数的函数
- 6.5.4 默认参数的函数
- 6.5.5 可变个数参数的函数
- 6.5.6 回调函数
- 6.6 递归函数
- 6.7 使用自定义函数库
- 6.8 PHP匿名函数和闭包
- 6.9 小结
- 第7章 PHP中的数组与数据结构
- 7.1 数组的分类
- 7.2 数组的定义
- 7.2.1 以直接赋值的方式声明数组
- 7.2.2 使用array()语言结构新建数组
- 7.2.3 数组简写语法
- 7.2.4 多维数组的声明
- 7.3 数组的遍历
- 7.3.1 使用for语句循环遍历数组
- 7.3.2 联合使用list( )、each( )和while循环遍历数组
- 7.3.3 使用foreach语句遍历数组
- 7.3.4 使用数组的内部指针控制函数遍历数组
- 7.4 预定义数组
- 7.4.1 服务器变量:$_SERVER
- 7.4.2 环境变量:$_ENV
- 7.4.3 URL GET变量:$_GET
- 7.4.4 HTTP POST变量:$_POST
- 7.4.5 request变量:$_REQUEST
- 7.4.6 HTTP文件上传变量:$_FILES
- 7.4.7 HTTP Cookies:$_COOKIE
- 7.4.8 Session变量:$_SESSION
- 7.4.9 Global变量:$GLOBALS
- 7.5 数组的相关处理函数
- 7.5.1 数组的键/值操作函数
- 7.5.2 统计数组元素的个数和唯一性
- 7.5.3 使用回调函数处理数组的函数
- 7.5.4 数组的排序函数
- 7.5.5 拆分、合并、分解和接合数组
- 7.5.6 数组与数据结构
- 7.5.7 其他有用的数组处理函数
- 7.6 操作PHP数组需要注意的一些细节
- 7.6.1 数组运算符号
- 7.6.2 删除数组中的元素
- 7.6.3 关于数组下标的注意事项
- 7.7 小结
- 第8章 PHP面向对象的程序设计
- 8.1 面向对象概述
- 8.1.1 类和对象之间的关系
- 8.1.2 面向对象的程序设计
- 8.2 如何抽象一个类
- 8.2.1 类的声明
- 8.2.2 成员属性
- 8.2.3 成员方法
- 8.3 通过类实例化对象
- 8.3.1 实例化对象
- 8.3.2 对象类型在内存中的分配
- 8.3.3 对象中成员的访问
- 8.3.4 特殊的对象引用“$this”
- 8.3.5 构造方法与析构方法
- 8.4 封装性
- 8.4.1 设置私有成员
- 8.4.2 私有成员的访问
- 8.4.3 __set()、__get()、__isset()和__unset()4个方法
- 8.5 继承性
- 8.5.1 类继承的应用
- 8.5.2 访问类型控制
- 8.5.3 子类中重载父类的方法
- 8.6 常见的关键字和魔术方法
- 8.6.1 final关键字的应用
- 8.6.2 static关键字的使用
- 8.6.3 单态设计模式
- 8.6.4 const关键字
- 8.6.5 instanceof关键字
- 8.6.6 克隆对象
- 8.6.7 类中通用的方法_ _toString()
- 8.6.8 PHP 7新加入的方法_ _ debugInfo()
- 8.6.9 _ _call()方法的应用
- 8.6.10 自动加载类
- 8.6.11 对象串行化
- 8.7 抽象类与接口
- 8.7.1 抽象类
- 8.7.2 接口技术
- 8.8 多态性的应用
- 8.9 PHP 5.4的Trait特性
- 8.9.1 Trait的声明
- 8.9.2 Trait的基本使用
- 8.10 PHP 7的匿名类
- 8.10.1 匿名类的声明
- 8.10.2 匿名类的应用
- 8.11 PHP 5.3新增加的命名空间
- 8.11.1 命名空间的基本应用
- 8.11.2 命名空间的子空间和公共空间
- 8.11.3 命名空间中的名称和术语
- 8.11.4 别名和导入
- 8.12 面向对象版图形计算器
- 8.12.1 需求分析
- 8.12.2 功能设计及实现
- 8.12.3 类的组织架构
- 8.13 小结
- 第9章 字符串处理
- 9.1 字符串的处理介绍
- 9.1.1 字符串的处理方式
- 9.1.2 字符串类型的特点
- 9.1.3 双引号中的变量解析总结
- 9.2 常用的字符串输出函数
- 9.3 常用的字符串格式化函数
- 9.3.1 去除空格和字符串填补函数
- 9.3.2 字符串大小写的转换
- 9.3.3 和HTML标签相关的字符串格式化
- 9.3.4 其他字符串格式化函数
- 9.4 字符串比较函数
- 9.4.1 按字节顺序进行字符串比较
- 9.4.2 按自然排序进行字符串比较
- 9.5 小结
- 第10章 正则表达式
- 10.1 正则表达式简介
- 10.2 正则表达式的语法规则
- 10.2.1 定界符
- 10.2.2 原子
- 10.2.3 元字符
- 10.2.4 模式修正符
- 10.3 与Perl兼容的正则表达式函数
- 10.3.1 字符串的匹配与查找
- 10.3.2 字符串的替换
- 10.3.3 字符串的分割和连接
- 10.4 文章发布操作示例
- 10.5 小结
- 第11章 PHP的错误和异常处理
- 11.1 错误处理
- 11.1.1 错误报告级别
- 11.1.2 调整错误报告级别
- 11.1.3 使用trigger_error()函数代替die()函数
- 11.1.4 自定义错误处理
- 11.1.5 写错误日志
- 11.2 异常处理
- 11.2.1 异常处理实现
- 11.2.2 扩展PHP内置的异常处理类
- 11.2.3 捕获多个异常
- 11.2.4 PHP异常处理新特性
- 11.3 小结
- 第12章 PHP的日期和时间
- 12.1 UNIX时间戳
- 12.1.1 将日期和时间转变成UNIX时间戳
- 12.1.2 日期的计算
- 12.2 在PHP中获取日期和时间
- 12.2.1 调用getdate()函数取得日期和时间信息
- 12.2.2 日期和时间格式化输出
- 12.3 修改PHP的默认时区
- 12.4 使用微秒计算PHP脚本执行时间
- 12.5 日历类
- 12.6 小结
- 第13章 文件系统处理
- 13.1 文件系统概述
- 13.1.1 文件类型
- 13.1.2 文件的属性
- 13.2 目录的基本操作
- 13.2.1 解析目录路径
- 13.2.2 遍历目录
- 13.2.3 统计目录大小
- 13.2.4 建立和删除目录
- 13.2.5 复制目录
- 13.3 文件的基本操作
- 13.3.1 文件的打开与关闭
- 13.3.2 写入文件
- 13.3.3 读取文件内容
- 13.3.4 访问远程文件
- 13.3.5 移动文件指针
- 13.3.6 文件的锁定机制
- 13.3.7 文件的一些基本操作函数
- 13.4 文件的上传与下载
- 13.4.1 文件上传
- 13.4.2 处理多个文件上传
- 13.4.3 文件下载
- 13.5 设计经典的文件上传类
- 13.5.1 需求分析
- 13.5.2 程序设计
- 13.5.3 文件上传类代码实现
- 13.5.4 文件上传类的应用过程
- 13.6 小结
- 第14章 PHP动态图像处理
- 14.1 PHP中GD库的使用
- 14.1.1 画布管理
- 14.1.2 设置颜色
- 14.1.3 生成图像
- 14.1.4 绘制图像
- 14.1.5 在图像中绘制文字
- 14.2 设计经典的验证码类
- 14.2.1 设计验证码类
- 14.2.2 应用验证码类的实例对象
- 14.2.3 表单中应用验证码
- 14.2.4 实例演示
- 14.3 PHP图片处理
- 14.3.1 图片背景管理
- 14.3.2 图片缩放
- 14.3.3 图片裁剪
- 14.3.4 添加图片水印
- 14.3.5 图片旋转和翻转
- 14.4 设计经典的图像处理类
- 14.4.1 需求分析
- 14.4.2 程序设计
- 14.4.3 图像处理类代码实现
- 14.4.4 图像处理类的应用过程
- 14.5 小结
- 第15章 MySQL数据库概述
- 15.1 数据库的应用
- 15.1.1 数据库在Web开发中的重要地位
- 15.1.2 为什么PHP会选择MySQL作为自己的黄金搭档
- 15.1.3 PHP和MySQL的合作方式
- 15.1.4 结构化查询语言SQL
- 15.2 MySQL数据库的常见操作
- 15.2.1 MySQL数据库的连接与关闭
- 15.2.2 创建新用户并授权
- 15.2.3 创建数据库
- 15.2.4 创建数据表
- 15.2.5 数据表内容的简单管理
- 15.3 小结
- 第16章 MySQL数据表的设计
- 16.1 数据表(Table)
- 16.2 数据值和列类型
- 16.2.1 数值类的数据列类型
- 16.2.2 字符串类的数据列类型
- 16.2.3 日期和时间类的数据列类型
- 16.2.4 NULL值
- 16.2.5 类型转换
- 16.3 数据字段属性
- 16.4 数据表对象管理
- 16.4.1 创建表(CREATE TABLE)
- 16.4.2 修改表(ALTER TABLE)
- 16.4.3 删除表(DROP TABLE)
- 16.5 数据表的类型及存储位置
- 16.5.1 MyISAM数据表
- 16.5.2 InnoDB数据表
- 16.5.3 选择InnoDB还是MyISAM数据表类型
- 16.5.4 数据表的存储位置
- 16.6 数据表的默认字符集
- 16.6.1 字符集
- 16.6.2 字符集支持原理
- 16.6.3 创建数据对象时修改字符集
- 16.7 创建索引
- 16.7.1 主键索引(PRIMARY KEY)
- 16.7.2 唯一索引(UNIQUE)
- 16.7.3 常规索引(INDEX)
- 16.7.4 全文索引(FULLTEXT)
- 16.8 数据库的设计技巧
- 16.8.1 数据库的设计要求
- 16.8.2 命名的技巧
- 16.8.3 数据库具体设计工作中的技巧
- 16.9 小结
- 第17章 SQL语句设计
- 17.1 操作数据表中的数据记录(DML)
- 17.1.1 使用INSERT语句向数据表中添加数据
- 17.1.2 使用UPDATE语句更新数据表中已存在的数据
- 17.1.3 使用DELETE语句删除数据表中不需要的数据记录
- 17.2 通过DQL命令查询数据表中的数据
- 17.2.1 选择特定的字段
- 17.2.2 使用AS子句为字段取别名
- 17.2.3 DISTINCT关键字的使用
- 17.2.4 在SELECT语句中使用表达式的列
- 17.2.5 使用WHERE子句按条件检索
- 17.2.6 根据空值(NULL)确定检索条件
- 17.2.7 使用BETWEEN AND进行范围比较查询
- 17.2.8 使用IN进行范围比较查询
- 17.2.9 使用LIKE进行模糊查询
- 17.2.10 多表查询(连接查询)
- 17.2.11 嵌套查询(子查询)
- 17.2.12 使用ORDER BY对查询结果排序
- 17.2.13 使用LIMIT限定结果行数
- 17.2.14 使用统计函数
- 17.2.15 使用GROUP BY对查询结果分组
- 17.3 查询优化
- 17.4 小结
- 第18章 数据库抽象层PDO
- 18.1 PHP访问MySQL数据库服务器的流程
- 18.2 PDO所支持的数据库
- 18.3 PDO的安装
- 18.4 创建PDO对象
- 18.4.1 以多种方式调用构造方法
- 18.4.2 PDO对象中的成员方法
- 18.5 使用PDO对象
- 18.5.1 调整PDO的行为属性
- 18.5.2 PDO处理PHP程序和数据库之间的数据类型转换
- 18.5.3 PDO的错误处理模式
- 18.5.4 使用PDO执行SQL语句
- 18.6 PDO对预处理语句的支持
- 18.6.1 了解PDOStatement对象
- 18.6.2 准备语句
- 18.6.3 绑定参数
- 18.6.4 执行准备好的查询
- 18.6.5 获取数据
- 18.6.6 大数据对象的存取
- 18.7 PDO的事务处理
- 18.7.1 MySQL的事务处理
- 18.7.2 构建事务处理的应用程序
- 18.8 设计完美分页类
- 18.8.1 需求分析
- 18.8.2 程序设计
- 18.8.3 完美分页类的代码实现
- 18.8.4 完美分页类的应用过程
- 18.9 管理表books实例
- 18.9.1 需求分析
- 18.9.2 程序设计
- 18.10 小结
- 本章必须掌握的知识点
- 本章需要了解的内容
- 本章需要拓展的内容
- 第19章 MemCache管理与应用
- 19.1 MemCache概述
- 19.1.1 初识MemCache
- 19.1.2 MemCache在Web中的应用
- 19.2 memcached的安装及管理
- 19.2.1 Linux下安装MemCache软件
- 19.2.2 Windows下安装MemCache软件
- 19.2.3 memcached服务器的管理
- 19.3 使用Telnet作为memcached的客户端管理
- 19.3.1 连接memcached服务器
- 19.3.2 基本的memcached客户端命令
- 19.3.3 查看当前memcached服务器的运行状态信息
- 19.3.4 数据管理指令
- 19.4 PHP的memcached管理接口
- 19.4.1 安装PHP中的MemCache应用程序扩展接口
- 19.4.2 MemCache应用程序扩展接口
- 19.4.3 MemCache的实例应用
- 19.5 memcached服务器的安全防护
- 19.6 小结
- 第20章 会话控制
- 20.1 为什么要使用会话控制
- 20.2 会话跟踪的方式
- 20.3 Cookie的应用
- 20.3.1 Cookie概述
- 20.3.2 向客户端计算机中设置Cookie
- 20.3.3 在PHP脚本中读取Cookie的资料内容
- 20.3.4 数组形态的Cookie应用
- 20.3.5 删除Cookie
- 20.3.6 基于Cookie的用户登录模块
- 20.4 Session的应用
- 20.4.1 Session概述
- 20.4.2 配置Session
- 20.4.3 Session的声明与使用
- 20.4.4 注册一个会话变量和读取Session
- 20.4.5 注销变量与销毁Session
- 20.4.6 Session的自动回收机制
- 20.4.7 传递Session ID
- 20.5 一个简单的邮件系统实例
- 20.5.1 为邮件系统准备数据
- 20.5.2 编码实现邮件系统
- 20.5.3 邮件系统执行说明
- 20.6 自定义Session处理方式
- 20.6.1 自定义Session的存储机制
- 20.6.2 使用数据库处理Session信息
- 20.6.3 使用memcached处理Session信息
- 20.7 小结
- 第21章 Redis的管理与应用
- 21.1 从认识Redis开始
- 21.1.1 Redis与其他数据库和软件的对比
- 21.1.2 Redis的特点
- 21.1.3 使用Redis的理由
- 21.2 Redis环境安装及管理
- 21.2.1 安装Redis
- 21.2.2 启动Redis服务
- 21.2.3 Redis服务的性能测试
- 21.2.4 Redis服务的配置管理
- 21.3 Redis客户端管理
- 21.3.1 命令行客户端操作
- 21.3.2 安装PHP的Redis扩展
- 21.4 Redis服务器的基本操作
- 21.5 Redis的数据类型
- 21.6 PHP操作Redis的通用方法
- 21.7 Redis的字符串(String)类型
- 21.7.1 相关的命令操作
- 21.7.2 应用场景
- 21.7.3 使用Redis实现页面缓存
- 21.8 Redis的列表(List)类型
- 21.8.1 相关的命令操作
- 21.8.2 应用场景
- 21.8.3 “PHP+Redis”实现消息队列
- 21.9 Redis的集合(Set)类型
- 21.9.1 相关的命令操作
- 21.9.2 应用场景
- 21.9.3 “PHP+Redis”实现共同好友功能
- 21.10 Redis的Sorted Set有序集合类型
- 21.10.1 相关的命令操作
- 21.10.2 应用场景
- 21.10.3 “PHP+Redis”实现排行榜功能
- 21.11 Redis的哈希(hash)表类型
- 21.11.1 相关的命令操作
- 21.11.2 应用场景
- 21.11.3 使用Redis实现购物车功能
- 21.12 Redis订阅发布系统
- 21.12.1 Redis 发布订阅
- 21.12.2 Redis 发布订阅操作
- 21.13 Redis的事务处理机制
- 21.14 小结
- 第22章 PHP的CURL功能扩展模块
- 22.1 CURL功能扩展模块介绍
- 22.2 PHP的CURL功能扩展模块基本用法
- 22.3 CURL相关的功能选项
- 22.4 通过CURL扩展获取页面信息
- 22.5 通过CURL扩展用POST方法发送数据
- 22.6 通过CURL扩展上传文件
- 22.7 通过CURL模拟登录并获取数据
- 22.8 小结
- 第23章 自定义PHP接口规范
- 23.1 应用程序编程接口(API)
- 23.1.1 什么是接口
- 23.1.2 了解实现接口的几种方法
- 23.1.3 接口的应用和优势
- 23.2 接口实现的基础
- 23.2.1 实现接口的访问流程
- 23.2.2 处理接口的返回值
- 23.2.3 在程序中访问接口
- 23.3 接口的安全控制规范
- 23.3.1 API安全控制原则
- 23.3.2 API安全控制简单实现步骤
- 23.4 API的设计原则和规范
- 23.4.1 什么是RESTful风格的API
- 23.4.2 RESTful API应遵循的原则
- 23.5 创建RESTful规范 WebAPI框架
- 23.5.1 程序结构设计
- 23.5.2 架构详解
- 23.5.3 WebAPI框架应用
- 23.5.4 客户端访问API
- 23.6 使用第三方接口服务实例
- 23.6.1 查找API
- 23.6.2 查看API文档说明
- 23.6.3 获取接口的key
- 23.6.4 使用 PHP 代码请求接口
- 23.7 小结
- 第24章 PHP依赖管理工具Composer
- 24.1 认识Composer
- 24.1.1 什么是Composer
- 24.1.2 Composer的代码库在哪里
- 24.1.3 类库的规范
- 24.2 Composer的安装
- 24.2.1 安装前的准备
- 24.2.2 安装步骤
- 24.2.3 测试安装环境
- 24.3 Composer常用文件
- 24.3.1 vendor目录
- 24.3.2 composer.json文件
- 24.3.3 composer.lock文件
- 24.4 Composer常用命令
- 24.4.1 Composer基本命令的使用
- 24.4.2 Composer命令的运行流程
- 24.5 Composer应用案例
- 24.5.1 搜索需要的库
- 24.5.2 应用前准备
- 24.5.3 应用类库
- 24.6 小结
- 第25章 MVC模式与PHP框架
- 25.1 MVC模式在Web中的应用
- 25.1.1 MVC模式的工作原理
- 25.1.2 MVC模式的优缺点
- 25.2 PHP开发框架
- 25.2.1 什么是框架
- 25.2.2 为什么要用框架
- 25.2.3 框架和MVC模式的关系
- 25.2.4 流行的PHP框架比较
- 25.3 划分模块和操作
- 25.3.1 为项目划分模块
- 25.3.2 为模块设置操作
- 25.4 小结
- 第26章 简洁优雅的Laravel开发框架
- 26.1 认识Laravel框架
- 26.1.1 什么是Laravel框架
- 26.1.2 Laravel框架的功能特点
- 26.1.3 Laravel框架的技术特点
- 26.1.4 Laravel框架应用的重要性
- 26.1.5 Laravel框架的发展历程
- 26.2 安装Laravel
- 26.2.1 安装前准备
- 26.2.2 安装Laravel 5.5
- 26.2.3 Laravel框架的目录结构
- 26.2.4 初始化Laravel框架安装的一些设置
- 26.2.5 Laravel框架的Artisan工具
- 26.3 Laravel框架的工作流程
- 26.3.1 基本的工作流程
- 26.3.2 客户端
- 26.3.3 主入口文件
- 26.3.4 URL路由
- 26.3.5 控制器层(C)
- 26.3.6 中间件
- 26.3.7 数据库操作层(M)
- 26.3.8 视图层(V)
- 26.3.9 请求和响应
- 26.4 Laravel框架的核心服务容器
- 26.4.1 IoC 容器
- 26.4.2 了解Laravel框架的核心
- 26.4.3 注册自己的服务到容器中
- 26.4.4 门面(Facades)
- 26.4.5 使用Composer为Laravel框架安装扩展插件包
- 26.5 基于Laravel框架的Web应用实例
- 26.5.1 用户登录模块
- 26.5.2 后台管理平台模块
- 26.5.3 文章模块
- 26.5.4 搭建前台模块
- 26.5.5 评论模块
- 26.6 基于Laravel 5.5的API应用实例
- 26.6.1 构建接口模块
- 26.6.2 封装返回的统一消息
- 26.6.3 为API增加版本
- 26.6.4 API token认证
- 26.6.5 编写文档和测试
- 26.7 小结
- 第27章 项目开发实战——博客系统
- 27.1 项目介绍
- 27.2 需求分析
- 27.2.1 系统目标
- 27.2.2 系统功能结构
- 27.2.3 权限介绍
- 27.3 操作流程图
- 27.3.1 博客前台操作流程
- 27.3.2 博客后台操作流程
- 27.4 原型图
- 27.4.1 什么是原型图
- 27.4.2 原型图的分类
- 27.4.3 项目部分原型页面展示
- 27.5 博客项目的模块介绍
- 27.5.1 前台模块
- 27.5.2 后台模块
- 27.5.3 前后台模块思维导图
- 27.6 数据库设计说明
- 27.6.1 概念结构设计
- 27.6.2 通过实体得到ER图
- 27.6.3 逻辑结构设计
- 27.6.4 数据库物理结构设计
- 27.7 程序设计说明
- 27.7.1 环境部署
- 27.7.2 权限设置
- 27.7.3 项目目录结构
- 27.7.4 项目模块结构
- 27.7.5 项目程序结构
- 27.7.6 模型说明
- 27.7.7 自定义类及安装的组件
- 27.8 项目安装和部署
- 27.8.1 搭建虚拟主机
- 27.8.2 导入数据库
- 27.8.3 项目应用
- 27.9 本章作业
- 27.9.1 任务一:修改网站配置模块
- 27.9.2 任务二:添加友情链接模块
- 27.10 小结
- 第28章 在线教育系统EDUPlayer
- 28.1 项目背景
- 28.2 需求分析
- 28.2.1 系统目标
- 28.2.2 前后端分离架构
- 28.2.3 系统功能结构
- 28.2.4 权限介绍
- 28.3 操作流程
- 28.3.1 前台操作流程
- 28.3.2 后台操作流程
- 28.4 原型图
- 28.5 系统模块介绍
- 28.5.1 前台模块
- 28.5.2 后台模块
- 28.5.3 前台模块思维导图
- 28.5.4 后台模块思维导图
- 28.6 数据库设计说明
- 28.6.1 概念结构设计
- 28.6.2 通过实体获取ER图
- 28.6.3 Laravel 框架的数据表迁移工具
- 28.6.4 数据表详解
- 28.7 项目安装
- 28.7.1 环境依赖
- 28.7.2 环境安装之nginx
- 28.7.3 环境安装之PHP
- 28.7.4 环境安装之MySQL
- 28.7.5 环境安装之Redis
- 28.7.6 环境安装之Git
- 28.7.7 环境安装之Composer
- 28.7.8 项目下载及配置
- 28.7.9 虚拟主机配置
- 28.7.10 开启定时任务
- 28.7.11 Redis队列实现
- 28.7.12 安装成功
- 28.8 目录结构
- 28.8.1 根目录
- 28.8.2 app目录
- 28.9 依赖组件
- 28.10 二次开发注意事项
- 28.10.1 搜索参数和排序参数约束
- 28.10.2 关联加载约束
- 28.10.3 权限验证约束
- 28.10.4 开发新业务示例
- 28.11 小结
- 附录
- 附录A 编码规范
- 附录B PHP项目的安全和优化
- 附录C PHP5.3~PHP5.6中的新特性
- 反侵权盗版声明
出版方
电子工业出版社
电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。