PHP 7从零基础到项目实战
PHP 7从零基础到项目实战
1 走进PHP的世界
1.1 快速认识PHP
1.1.1 PHP语言的优势
1.1.2 PHP的运行机制和原理
1.1.3 PHP 7的新特性
1.2 搭建PHP开发环境
1.3 常用PHP代码编辑器
1.4 编写一个“Hello World”PHP程序
2 PHP语言基础
2.1 PHP的数据类型
2.1.1 字符串
2.1.2 整型
2.1.3 浮点型
2.1.4 布尔型
2.1.5 数组
2.1.6 对象
2.1.7 NULL值
2.2 运算符
2.2.1 算术运算符
2.2.2 递增递减运算符
2.2.3 比较运算符
2.2.4 逻辑运算符
2.2.5 三元运算符
2.2.6 字符串连接运算符
2.2.7 赋值运算符
2.2.8 位运算符
2.3 变量
2.3.1 变量的定义
2.3.2 变量的作用域
2.4 常量
2.4.1 常量的声明
2.4.2 预定义常量
3 流程控制语句
3.1 条件控制语句
3.1.1 if条件控制语句
3.1.2 switch分支语句
3.2 循环控制语句
3.2.1 while循环
3.2.2 do while循环
3.2.3 for循环
3.2.4 foreach循环
3.3 跳转语句
3.3.1 break语句
3.3.2 continue语句
3.3.3 goto语句
3.4 包含语句
3.4.1 include语句
3.4.2 include_once语句
3.4.3 require语句
3.4.4 require_once语句
4 函数
4.1 函数的使用
4.2 函数的参数
4.2.1 参数传递方式
4.2.2 参数类型声明
4.2.3 可变参数数量
4.3 函数返回值
4.4 可变函数
4.5 内置函数
4.6 匿名函数
4.7 递归与迭代
4.7.1 递归
4.7.2 迭代
5 字符串
5.1 单引号和双引号的区别
5.2 字符串连接符
5.3 字符串操作
5.3.1 改变字符串大小写
5.3.2 查找字符串
5.3.3 替换字符串
5.3.4 截取字符串
5.3.5 去除字符串首尾空格和特殊字符
5.3.6 计算字符串的长度
5.3.7 转义和还原字符串
5.3.8 重复一个字符串
5.3.9 随机打乱字符串
5.3.10 分割字符串
6 数组
6.1 使用数组
6.1.1 数组类型
6.1.2 创建数组
6.2 二维数组和多维数组
6.2.1 二维数组
6.2.2 多维数组
6.3 数组操作
6.3.1 检查数组中是否存在某个值
6.3.2 数组转换为字符串
6.3.3 计算数组中的单元数目
6.3.4 数组当前单元和数组指针
6.3.5 数组中的键名和值
6.3.6 填补数组
6.3.7 从数组中随机取出一个或多个单元
6.3.8 数组排序与打乱数组
6.3.9 遍历数组
6.3.10 数组的拆分与合并
6.3.11 增加/删除数组中的元素
6.3.12 其他常用数组函数
6.4 系统预定义数组
6.4.1 $_SERVER
6.4.2 $_GET和$_POST数组
6.4.3 $_FILES数组
6.4.4 $_SESSION和$_COOKIE数组
6.4.5 $_REQUEST[]数组
7 时间与日期
7.1 设置时区
7.1.1 在配置文件中设置
7.1.2 通过date_default_timezone_set函数在文件中设置
7.2 获取当前时间
7.3 常用时间处理方法
7.3.1 格式化时间显示
7.3.2 计算两个日期间的时间差
7.3.3 从字符串中解析日期时间
7.3.4 日期的加减运算
7.4 验证日期
8 表单
8.1 表单的种类
8.1.1 文本域及其类型
8.1.2 其他表单类型
8.2 get和post方法
8.2.1 获取表单值
8.2.2 处理上传文件
9 类与对象
9.1 什么是类
9.1.1 声明一个类
9.1.2 实例化一个类
9.1.3 访问类中成员
9.1.4 静态属性和静态方法
9.1.5 构造方法和析构方法
9.2 封装和继承特性
9.2.1 封装特性
9.2.2 继承特性
9.2.3 通过继承实现多态
9.3 魔术方法
9.3.1 __set()和__get()方法
9.3.2 __isset()和__unset()方法
9.3.3 __call()和__toString()方法
9.4 自动加载
9.4.1 __autoload()方法
9.4.2 spl_autoload_register()函数
9.5 抽象类和接口
9.5.1 抽象类
9.5.2 接口
9.6 类中的关键字
9.6.1 final关键字
9.6.2 clone关键字
9.6.3 instanceof关键字
9.6.4 “”和“=”
10 正则表达式
10.1 正则表达式的用途
10.2 正则表达式的语法
10.2.1 正则表达式中的元素
10.2.2 替换和子表达式
10.2.3 反向引用
10.3 在PHP中使用正则表达式
10.3.1 匹配与查找
10.3.2 搜索与替换
10.3.3 分割与转义
11 错误异常处理
11.1 异常处理
11.1.1 异常类
11.1.2 创建自己的异常类
11.2 错误有关配置
11.2.1 错误级别配置
11.2.2 记录错误
11.2.3 自定义错误处理函数
11.3 PHP 7中的错误处理
12 图像处理
12.1 获取图像信息
12.1.1 getimagesize取得图像大小
12.1.2 getimagesizefromstring从字符串中获取图像尺寸信息
12.1.3 imagesx取得图像的宽度
12.1.4 imagesy取得图像的高度
12.2 图像绘制
12.2.1 创建画布
12.2.2 定义颜色
12.2.3 绘制图形
12.2.4 绘制文字
12.3 图片处理
12.3.1 复制图像
12.3.2 旋转图像
12.3.3 图像水印
12.4 图像验证码
13 目录文件操作
13.1 目录
13.1.1 判断文件类型
13.1.2 创建和删除目录
13.1.3 打开读取和关闭目录
13.1.4 获得路径中目录部分
13.1.5 目录磁盘空间
13.2 文件操作
13.2.1 打开文件
13.2.2 读取文件
13.2.3 获得文件属性
13.2.4 复制/删除/移动/重命名文件
13.3 文件指针
13.4 文件上传
13.4.1 上传文件配置
13.4.2 上传文件示例
14 Cookie与Session
14.1 详解Cookie
14.1.1 Cookie的基本概念和设置
14.1.2 Cookie的应用和存储机制
14.2 Session详解
14.2.1 Session的基本概念和设置
14.2.2 Session的工作原理和存储机制
14.2.3 使用Redis存储Session
15 MySQL数据库的使用
15.1 MySQL的安装
15.2 操作MySQL数据库
15.2.1 创建数据库
15.2.2 显示数据库
15.2.3 选择数据库
15.2.4 删除数据库
15.3 MySQL数据类型
15.3.1 数值类型
15.3.2 日期和时间类型
15.3.3 字符串类型
15.4 操作MySQL数据表
15.4.1 创建数据表
15.4.2 查看数据表结构
15.4.3 更改数据表结构
15.4.4 删除数据表
15.5 操作MySQL数据
15.5.1 插入数据
15.5.2 更新数据
15.5.3 删除数据
15.5.4 查询数据
15.6 MySQL图形化管理工具
15.7 PHP操作MySQL数据库
15.7.1 MySQLi连接操作数据库
15.7.2 PDO连接操作数据库
16 PHP与Redis数据库
16.1 关系型数据库与非关系型数据库
16.2 Redis的安装使用
16.3 Redis数据类型
16.3.1 string
16.3.2 list
16.3.3 hash
16.3.4 set
16.3.5 zset
16.4 Key操作命令
16.5 PHP操作Redis
16.5.1 安装php-redis扩展
16.5.2 在PHP中使用Redis
17 PHP处理XML和JSON
17.1 生成XML
17.1.1 由字符串或数组遍历生成XML
17.1.2 通过DOM生成XML
17.1.3 通过PHP SimpleXML生成XML
17.2 解析XML
17.2.1 通过DOM解析XML
17.2.2 通过PHP SimpleXML解析XML
17.3 JSON的使用
17.3.1 json_encode
17.3.2 json_decode
18 MVC与ThinkPHP框架
18.1 PHP MVC概述
18.2 常用的PHP框架
18.3 ThinkPHP的使用
18.3.1 开始开发
18.3.2 入口文件与路由
18.4 ThinkPHP控制器
18.4.1 创建控制器
18.4.2 跳转和重定向
18.5 使用数据库
18.5.1 连接数据库
18.5.2 查询构造器
18.5.3 增加/删除/更新数据
18.6 模型
18.6.1 模型定义
18.6.2 基本操作
18.7 模板
18.7.1 模板赋值与变量输出
18.7.2 使用函数和运算符
18.7.3 模板标签
19 PHP设计模式
19.1 什么是设计模式
19.2 工厂模式
19.3 单例模式
19.4 观察者模式
19.5 策略模式
20 基于前端架构打造服务端
20.1 构建一个API的世界
20.1.1 简述API接口
20.1.2 API接口签名验证
20.2 传输消息的加解密
20.2.1 单向散列加密
20.2.2 对称加密
20.2.3 非对称加密
20.3 使用Ajax进行交互
20.3.1 Ajax的介绍
20.3.2 Ajax的使用
20.4 前端模板和框架
20.4.1 MustacheJS介绍
20.4.2 AngularJS介绍
21 O2O小白财税网站开发
21.1 需求分析
21.2 网站概览
21.2.1 网站功能
21.2.2 网站预览
21.3 数据库设计
21.3.1 数据库建表
21.3.2 连接数据库
21.4 使用ThinkPHP搭建项目框架
21.4.1 应用目录
21.4.2 引入PHPMailer类库
21.4.3 引入Ping++支付模块
21.5 项目代码编写
21.5.1 注册登录
21.5.2 下单购买
21.5.3 用户中心
22 卡券管理系统App后台开发
22.1 PHP在App开发中的应用
22.2 App开发中的JSON数据
22.3 接口开发
22.3.1 定义路由与封装基类方法
22.3.2 实现接口功能代码
23 编写自己的PHP框架
23.1 框架设计
23.1.1 框架设计思想
23.1.2 框架执行流程
23.2 框架总体概览
框架目录
23.3 框架初始化
23.3.1 入口文件定义
23.3.2 路由解析
23.4 应用配置
23.5 核心基础类
23.5.1 控制器基类
23.5.2 模型基类
23.6 公用函数库
23.7 使用框架
23.7.1 创建表和模型
23.7.2 创建控制器和视图
24 大型网站架构设计
24.1 大型网站架构概述
24.1.1 大型网站的特点
24.1.2 大型网站的设计要素
24.2 负载均衡
24.2.1 负载均衡技术
24.2.2 负载均衡算法
24.3 数据库的使用
24.3.1 数据切分
24.3.2 数据库中间件
24.4 消息队列
24.4.1 消息队列的应用场景
24.4.2 消息队列的基本概念
24.4.3 常用消息队列
24.5 网站监控
24.5.1 数据收集
24.5.2 异常监控与报警
思维导图
防止博客图床图片失效,防止图片源站外链:
http://www.processon.com/chart_image/5e5b3bcee4b02bc3ad6a21d4.png)
思维导图在线编辑链接: