前言

第1章 走进PHP的世界1

1.1 快速认识PHP2

1.1.1 PHP语言的优势2

1.1.2 PHP的运行机制和原理3

1.1.3 PHP 7的新特性4

1.2 搭建PHP开发环境5

1.3 常用PHP代码编辑器7

1.4 编写一个“Hello World”PHP程序7

第2章 PHP语言基础9

2.1 PHP的数据类型9

2.1.1 字符串9

2.1.2 整型10

2.1.3 浮点型11

2.1.4 布尔型11

2.1.5 数组11

2.1.6 对象11

2.1.7 NULL值12

2.2 运算符12

2.2.1 算术运算符12

2.2.2 递增递减运算符13

2.2.3 比较运算符14

2.2.4 逻辑运算符15

2.2.5 三元运算符15

2.2.6 字符串连接运算符16

2.2.7 赋值运算符16

2.2.8 位运算符17

2.3 变量18

2.3.1 变量的定义18

2.3.2 变量的作用域18

2.4 常量20

2.4.1 常量的声明20

2.4.2 预定义常量21

第3章 流程控制语句23

3.1 条件控制语句23

3.1.1 if条件控制语句23

3.1.2 switch分支语句24

3.2 循环控制语句26

3.2.1 while循环26

3.2.2 do while循环26

3.2.3 for循环27

3.2.4 foreach循环28

3.3 跳转语句30

3.3.1 break语句30

3.3.2 continue语句30

3.3.3 goto语句30

3.4 包含语句31

3.4.1 include语句31

3.4.2 include_once语句33

3.4.3 require语句33

3.4.4 require_once语句34

第4章 函数35

4.1 函数的使用35

4.2 函数的参数36

4.2.1 参数传递方式36

4.2.2 参数类型声明38

4.2.3 可变参数数量39

4.3 函数返回值40

4.4 可变函数41

4.5 内置函数42

4.6 匿名函数42

4.7 递归与迭代44

4.7.1 递归44

4.7.2 迭代45

第5章 字符串46

5.1 单引号和双引号的区别46

5.2 字符串连接符47

5.3 字符串操作47

5.3.1 改变字符串大小写47

5.3.2 查找字符串48

5.3.3 替换字符串50

5.3.4 截取字符串51

5.3.5 去除字符串首尾空格和特殊字符51

5.3.6 计算字符串的长度52

5.3.7 转义和还原字符串53

5.3.8 重复一个字符串53

5.3.9 随机打乱字符串54

5.3.10 分割字符串54

第6章 数组56

6.1 使用数组56

6.1.1 数组类型56

6.1.2 创建数组57

6.2 二维数组和多维数组59

6.2.1 二维数组59

6.2.2 多维数组59

6.3 数组操作60

6.3.1 检查数组中是否存在某个值60

6.3.2 数组转换为字符串61

6.3.3 计算数组中的单元数目61

6.3.4 数组当前单元和数组指针61

6.3.5 数组中的键名和值62

6.3.6 填补数组65

6.3.7 从数组中随机取出一个或多个单元69

6.3.8 数组排序与打乱数组69

6.3.9 遍历数组72

6.3.10 数组的拆分与合并76

6.3.11 增加/删除数组中的元素78

6.3.12 其他常用数组函数79

6.4 系统预定义数组84

6.4.1 $_SERVER84

6.4.2 $_GET 和 $_POST数组86

6.4.3 $_FILES数组87

6.4.4 $_SESSION和$_COOKIE数组88

6.4.5 $_REQUEST[]数组88

第7章 时间与日期89

7.1 设置时区89

7.1.1 在配置文件中设置89

7.1.2 通过date_default_timezone_set函数在文件中设置90

7.2 获取当前时间90

7.3 常用时间处理方法93

7.3.1 格式化时间显示93

7.3.2 计算两个日期间的时间差95

7.3.3 从字符串中解析日期时间96

7.3.4 日期的加减运算96

7.4 验证日期97

第8章 表单98

8.1 表单的种类98

8.1.1 文本域及其类型98

8.1.2 其他表单类型102

8.2 get和post方法103

8.2.1 获取表单值104

8.2.2 处理上传文件105

第9章 类与对象107

9.1 什么是类107

9.1.1 声明一个类108

9.1.2 实例化一个类108

9.1.3 访问类中成员109

9.1.4 静态属性和静态方法110

9.1.5 构造方法和析构方法111

9.2 封装和继承特性113

9.2.1 封装特性113

9.2.2 继承特性114

9.2.3 通过继承实现多态115

9.3 魔术方法116

9.3.1 __set()和__get()方法116

9.3.2 __isset()和__unset()方法117

9.3.3 __call()和__toString()方法119

9.4 自动加载120

9.4.1 __autoload() 方法120

9.4.2 spl_autoload_register() 函数121

9.5 抽象类和接口122

9.5.1 抽象类122

9.5.2 接口123

9.6 类中的关键字125

9.6.1 final关键字125

9.6.2 clone关键字126

9.6.3 instanceof关键字127

9.6.4 “==”和“===”128

第10章 正则表达式129

10.1 正则表达式的用途129

10.2 正则表达式的语法130

10.2.1 正则表达式中的元素130

10.2.2 替换和子表达式134

10.2.3 反向引用135

10.3 在PHP中使用正则表达式135

10.3.1 匹配与查找135

10.3.2 搜索与替换139

10.3.3 分割与转义141

第11章 错误异常处理144

11.1 异常处理144

11.1.1 异常类144

11.1.2 创建自己的异常类146

11.2 错误有关配置147

11.2.1 错误级别配置147

11.2.2 记录错误148

11.2.3 自定义错误处理函数149

11.3 PHP 7中的错误处理151

第12章 图像处理152

12.1 获取图像信息152

12.1.1 getimagesize取得图像大小152

12.1.2 getimagesizefromstring从字符串中获取图像尺寸信息153

12.1.3 imagesx取得图像的宽度154

12.1.4 imagesy取得图像的高度154

12.2 图像绘制155

12.2.1 创建画布155

12.2.2 定义颜色156

12.2.3 绘制图形157

12.2.4 绘制文字161

12.3 图片处理163

12.3.1 复制图像164

12.3.2 旋转图像164

12.3.3 图像水印165

12.4 图像验证码166

第13章 目录文件操作168

13.1 目录168

13.1.1 判断文件类型168

13.1.2 创建和删除目录169

13.1.3 打开读取和关闭目录170

13.1.4 获得路径中目录部分172

13.1.5 目录磁盘空间172

13.2 文件操作173

13.2.1 打开文件173

13.2.2 读取文件174

13.2.3 获得文件属性175

13.2.4 复制/删除/移动/重命名文件178

13.3 文件指针179

13.4 文件上传181

13.4.1 上传文件配置181

13.4.2 上传文件示例182

第14章 Cookie与Session184

14.1 详解Cookie184

14.1.1 Cookie的基本概念和设置184

14.1.2 Cookie的应用和存储机制187

14.2 Session详解188

14.2.1 Session的基本概念和设置188

14.2.2 Session的工作原理和存储机制189

14.2.3 使用Redis存储Session190

第15章 MySQL数据库的使用194

15.1 MySQL的安装194

15.2 操作MySQL数据库197

15.2.1 创建数据库197

15.2.2 显示数据库197

15.2.3 选择数据库197

15.2.4 删除数据库198

15.3 MySQL数据类型198

15.3.1 数值类型198

15.3.2 日期和时间类型199

15.3.3 字符串类型199

15.4 操作MySQL数据表200

15.4.1 创建数据表200

15.4.2 查看数据表结构201

15.4.3 更改数据表结构202

15.4.4 删除数据表204

15.5 操作MySQL数据205

15.5.1 插入数据205

15.5.2 更新数据205

15.5.3 删除数据206

15.5.4 查询数据206

15.6 MySQL图形化管理工具210

15.7 PHP操作MySQL数据库212

15.7.1 MySQLi连接操作数据库212

15.7.2 PDO连接操作数据库215

第16章 PHP与Redis数据库219

16.1 关系型数据库与非关系型数据库219

16.2 Redis的安装使用220

16.3 Redis数据类型223

16.3.1 string223

16.3.2 list227

16.3.3 hash233

16.3.4 set236

16.3.5 zset241

16.4 Key操作命令246

16.5 PHP操作Redis249

16.5.1 安装php-redis扩展249

16.5.2 在PHP中使用Redis251

第17章 PHP处理XML和JSON252

17.1 生成XML252

17.1.1 由字符串或数组遍历生成XML252

17.1.2 通过DOM生成XML254

17.1.3 通过PHP SimpleXML生成XML255

17.2 解析XML256

17.2.1 通过DOM解析XML256

17.2.2 通过PHP SimpleXML解析XML258

17.3 JSON的使用259

17.3.1 json_encode259

17.3.2 json_decode260

第18章 MVC与ThinkPHP框架261

18.1 PHP MVC概述261

18.2 常用的PHP框架262

18.3 ThinkPHP的使用263

18.3.1 开始开发263

18.3.2 入口文件与路由266

18.4 ThinkPHP控制器267

18.4.1 创建控制器267

18.4.2 跳转和重定向269

18.5 使用数据库270

18.5.1 连接数据库270

18.5.2 查询构造器272

18.5.3 增加/删除/更新数据277

18.6 模型279

18.6.1 模型定义279

18.6.2 基本操作281

18.7 模板284

18.7.1 模板赋值与变量输出285

18.7.2 使用函数和运算符287

18.7.3 模板标签288

第19章 PHP设计模式292

19.1 什么是设计模式292

19.2 工厂模式294

19.3 单例模式298

19.4 观察者模式299

19.5 策略模式301

第20章 基于前端架构打造服务端303

20.1 构建一个API的世界303

20.1.1 简述API接口303

20.1.2 API接口签名验证304

20.2 传输消息的加解密305

20.2.1 单向散列加密305

20.2.2 对称加密305

20.2.3 非对称加密311

20.3 使用Ajax进行交互313

20.3.1 Ajax的介绍313

20.3.2 Ajax的使用316

20.4 前端模板和框架318

20.4.1 MustacheJS介绍318

20.4.2 AngularJS介绍321

第21章 O2O小白财税网站开发323

21.1 需求分析323

21.2 网站概览323

21.2.1 网站功能323

21.2.2 网站预览324

21.3 数据库设计326

21.3.1 数据库建表326

21.3.2 连接数据库329

21.4 使用ThinkPHP搭建项目框架330

21.4.1 应用目录330

21.4.2 引入PHPMailer类库331

21.4.3 引入Ping++支付模块333

21.5 项目代码编写335

21.5.1 注册登录335

21.5.2 下单购买342

21.5.3 用户中心347

第22章 卡券管理系统App后台开发353

22.1 PHP在App开发中的应用353

22.2 App开发中的JSON数据354

22.3 接口开发355

22.3.1 定义路由与封装基类方法355

22.3.2 实现接口功能代码356

第23章 编写自己的PHP框架361

23.1 框架设计361

23.1.1 框架设计思想361

23.1.2 框架执行流程361

23.2 框架总体概览362

23.3 框架初始化364

23.3.1 入口文件定义364

23.3.2 路由解析365

23.4 应用配置366

23.5 核心基础类366

23.5.1 控制器基类366

23.5.2 模型基类368

23.6 公用函数库372

23.7 使用框架372

23.7.1 创建表和模型372

23.7.2 创建控制器和视图373

第24章 大型网站架构设计376

24.1 大型网站架构概述376

24.1.1 大型网站的特点376

24.1.2 大型网站的设计要素377

24.2 负载均衡378

24.2.1 负载均衡技术378

24.2.2 负载均衡算法379

24.3 数据库的使用380

24.3.1 数据切分380

24.3.2 数据库中间件381

24.4 消息队列382

24.4.1 消息队列的应用场景383

24.4.2 消息队列的基本概念383

24.4.3 常用消息队列384

24.5 网站监控385

24.5.1 数据收集385

24.5.2 异常监控与报警385

PHP 7从零基础到项目实战,PHP 7从零基础到项目实战相关推荐

  1. 【项目实战课】AI零基础,人人免费可学!基于Pytorch的SimpleNet人脸表情识别实战...

    欢迎大家来到我们的项目实战课,本期内容是<基于SimpleNet的人脸表情识别实战>,本次内容面向任意AI基础的读者,人人皆可免费学习. 所谓项目实战课,就是以简单的原理回顾+详细的项目实 ...

  2. 【嵌入式Linux】嵌入式项目实战之七步从零编写带GUI的应用之显示系统、输入系统、文字系统

    文章目录 前言 1.显示系统 1.1.程序分层 1.2.几个重要的数据结构 1.3.程序分析 2.输入系统 2.1.程序分层 2.2.触摸屏输入 2.2.1.几个重要的数据结构 2.2.1.程序分析 ...

  3. 【项目实战课】从零掌握安卓端Pytorch原生深度学习模型部署

    欢迎大家来到我们的项目实战课,本期内容是<从零掌握安卓端Pytorch原生深度学习模型部署>.所谓项目课,就是以简单的原理回顾+详细的项目实战的模式,针对具体的某一个主题,进行代码级的实战 ...

  4. java框架 零基础从入门到精通的学习路线 附开源项目面经等(超全)

    目录 前言 1. 学习路线 2. 学习方法 前言 这篇文章主要总结我之前所学过的框架以及学习路线 从实打实的零基础到框架再到项目 之后实习工作 也在这篇博客中记录我的学习笔记 以及在笔记中遇到的配置安 ...

  5. java访问修饰符详解——学java,零基础不怕,不只要理论,更要实践+项目,a href=http://www.bjweixin.com太原维信科技提供 /a...

    java访问修饰符详解--学java,零基础不怕,不只要理论,更要实践+项目 <a href=http://www.bjweixin.com>太原维信科技提供 </a> pub ...

  6. 【做项目】基于SpringBoot从零开发的个人博客 —— 从技术选型到部署实战(附学习路线)

    文章目录 一.前言 1.1 背景介绍 1.2 寻找开源项目 1.3 技术选型 二.正式开发 2.1 看懂项目并模仿 2.2 正式动手敲之前,内化成自己的项目,对其设计并架构 2.3 动手编写 三.博客 ...

  7. 初出茅庐的小李第114篇博客项目笔记之机智云智能浇花器实战(3)-基础Demo实现

    机智云智能浇花器实战(3)-基础Demo实现 链接:机智云智能浇花器实战(2)-基础Demo实现 BH1750光照传感器原理图 BH1750传感器代码 #include "bh1750.h& ...

  8. 初出茅庐的小李第113篇博客项目笔记之机智云智能浇花器实战(2)-基础Demo实现

    初出茅庐的小李第112篇博客项目笔记之机智云智能浇花器实战(1)-基础Demo实现 接(1) 继电器实现 继电器原理图 继电器采用的是5V继电器,控制端是RELAY-1 继电器代码实现 #includ ...

  9. [Python从零到壹] 八.数据库之MySQL和Sqlite基础知识及操作万字详解

    欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...

  10. 零基础学python用哪本书好-零基础自学python3 好用的入门书籍推荐

    零基础自学python3 好用的入门书籍推荐,博学谷小班整理了六本数,推荐阅读 <Python for data analysis>.<Python数据分析与挖掘实战>.< ...

最新文章

  1. 极客学院职业路径图课程视频下载-爬虫
  2. 【Windows 逆向】OD 调试器工具 ( OD 工具简介 | OD 工具与 CE 工具对比 )
  3. 磁盘调度算法寻道问题
  4. Shell中I/O重定向的用法笔记
  5. 如何实现接口的幂等性?
  6. linux如何压缩数据库,linux mysql数据库压缩表空间
  7. ubuntu连不上wifi解决办法
  8. Android本地应用程序应用方式介绍
  9. 烽火HG220G-U E00L2.03M2000光猫改桥接教程
  10. 杭电1203--I NEED A OFFER!(01背包)
  11. .NET开发人员应该下载的十个必备工具(1)
  12. 【过程记录】ArcGIS Pro打开.osgb文件
  13. Django中mysql的正向建模与反向建模
  14. 每日一问 --什么是正弦信号?正弦信号有哪些特性?
  15. length和length()的区别
  16. echarts X轴文字竖向排列 ,一行两字竖向排列或旋转角度排列
  17. 爱了!京东新产算法宝典在Github上爆火,成功激起了老夫的少女心!
  18. MATLAB——PCM编译码实验
  19. RocketMQ常见问题-消息重复消费和消息重复的问题
  20. Ubuntu U盘启动工具Rufus制作(详细步骤)

热门文章

  1. DLP Lightcrafter™ 4500 EVM常见问题答疑
  2. 网络流精讲——最大流 包教包会
  3. 能上QQ不能上浏览器处理方法(win11版)
  4. 对QQGame-大家来找茬的辅助工具的改进
  5. GCC:warning:control reaches end of non-void function [-Wreturn-type] 、 Coredump的情况
  6. 《When you are old》一如苇中的风,轻柔却难忘
  7. iOS wifi开发
  8. Win11复制粘贴不了怎么办?Win11无法复制粘贴的解决方法
  9. Python 五角星的画法 five star
  10. VUE 对@click的认识