图书目录

第1篇 基础知识

第1章 初识PHP 2

视频讲解:17分钟

1.1 PHP概述 2

1.1.1 什么是PHP 2

1.1.2 PHP语言的优势 3

1.1.3 PHP 8的新特性 3

1.1.4 PHP的发展趋势 4

1.1.5 PHP的应用领域 5

1.2 PHP 8的执行原理 5

1.3 如何学好PHP 6

1.4 学习资源 7

1.4.1 常用软件资源 7

1.4.2 常用网上资源 8

1.5 网站建设的基本流程 8

第2章 PHP环境搭建和开发工具 9

视频讲解:61分钟

2.1 在Windows下使用WampServer 9

2.1.1 PHP开发环境的安装 9

2.1.2 PHP服务器的启动与停止 12

2.1.3 PHP开发环境的关键配置 13

2.2 在Linux下搭建PHP开发环境 15

2.2.1 安装Apache服务器 16

2.2.2 安装MySQL数据库 16

2.2.3 安装PHP 8 17

2.3 PHP常用开发工具 19

2.4 第一个PHP实例 22

2.5 实践与练习 24

第3章 PHP语言基础 25

视频讲解:168分钟

3.1 PHP的标记风格 25

3.2 PHP注释的应用 26

3.3 PHP的数据类型 27

3.3.1 标量数据类型 28

3.3.2 复合数据类型 32

3.3.3 特殊数据类型 32

3.3.4 数据类型转换 33

3.3.5 检测数据类型 35

3.4 PHP常量 35

3.4.1 常量的定义和使用 35

3.4.2 预定义常量 37

3.5 PHP变量 38

3.5.1 变量的赋值 38

3.5.2 变量的作用域 39

3.5.3 可变变量 41

3.5.4 PHP预定义变量 41

3.6 PHP运算符 42

3.6.1 算术运算符 42

3.6.2 字符串运算符 43

3.6.3 赋值运算符 43

3.6.4 递增或递减运算符 44

3.6.5 位运算符 44

3.6.6 逻辑运算符 45

3.6.7 比较运算符 46

3.6.8 条件运算符 47

3.6.9 运算符的优先级 47

3.7 PHP表达式 48

3.8 PHP函数 49

3.8.1 定义和调用函数 49

3.8.2 在函数间传递参数 50

3.8.3 从函数中返回值 51

3.8.4 变量函数 51

3.9 PHP编码规范 52

3.9.1 什么是编码规范 52

3.9.2 PHP的书写规则 53

3.9.3 PHP的命名规范 54

3.10 实践与练习 55

第4章 流程控制语句 56

视频讲解:68分钟

4.1 条件控制语句 56

4.1.1 if语句 56

4.1.2 if…else语句 57

4.1.3 elseif语句 58

4.1.4 switch语句 59

4.2 循环控制语句 61

4.2.1 while循环语句 61

4.2.2 do…while循环语句 62

4.2.3 for循环语句 63

4.2.4 foreach循环语句 63

4.3 跳转语句 64

4.3.1 break语句 64

4.3.2 continue语句 66

4.4 实践与练习 67

第5章 字符串操作 68

视频讲解:56分钟

5.1 字符串的定义方法 68

5.1.1 使用单引号或双引号定义字符串 68

5.1.2 使用定界符定义字符串 69

5.2 字符串操作 70

5.2.1 去除字符串首尾空格和特殊字符 70

5.2.2 转义、还原字符串数据 72

5.2.3 获取字符串的长度 74

5.2.4 截取字符串 75

5.2.5 比较字符串 76

5.2.6 检索字符串 78

5.2.7 替换字符串 79

5.2.8 格式化字符串 81

5.2.9 分割、合并字符串 82

5.3 实践与练习 83

第6章 正则表达式 84

视频讲解:29分钟

6.1 什么是正则表达式 84

6.2 正则表达式的语法规则 85

6.3 PCRE兼容正则表达式函数 89

6.4 应用正则表达式对用户注册信息进行验证 92

6.5 实践与练习 95

第7章 PHP数组 96

视频讲解:56分钟

7.1 什么是数组 96

7.2 定义数组 97

7.3 输出数组 99

7.4 二维数组 99

7.5 遍历数组 99

7.6 数组应用函数 100

7.6.1 字符串与数组的转换 100

7.6.2 统计数组元素个数 101

7.6.3 查询数组中指定的元素 102

7.6.4 获取数组中最后一个元素 103

7.6.5 向数组中添加元素 104

7.6.6 删除数组中重复的元素 104

7.6.7 综合运用数组函数实现多文件上传 105

7.7 实践与练习 106

第8章 PHP与Web页面交互 107

视频讲解:53分钟

8.1 表单 107

8.1.1 创建表单 107

8.1.2 表单元素 108

8.2 在普通的Web页面中插入表单 111

8.3 获取表单数据的两种方法 113

8.3.1 使用POST方法提交表单 113

8.3.2 使用GET方法提交表单 113

8.4 PHP传递参数的常用方法 114

8.5 在Web页面中嵌入PHP脚本 115

8.6 在PHP中获取表单数据 116

8.6.1 获取文本框、密码域、隐藏域、按钮、文本域的值 116

8.6.2 获取单选按钮的值 117

8.6.3 获取复选框的值 118

8.6.4 获取下拉列表框/菜单列表框的值 118

8.6.5 获取文件域的值 120

8.7 对URL传递的参数进行编/解码 121

8.7.1 对URL传递的参数进行编码 121

8.7.2 对URL传递的参数进行解码 122

8.8 PHP与Web表单的综合应用 123

8.9 实践与练习 124

第9章 PHP与JavaScript交互 125

视频讲解:57分钟

9.1 了解JavaScript 125

9.2 JavaScript语言基础 126

9.2.1 JavaScript数据类型 126

9.2.2 JavaScript变量 126

9.2.3 JavaScript注释 128

9.3 JavaScript自定义函数 128

9.4 JavaScript流程控制语句 129

9.4.1 条件语句 129

9.4.2 循环语句 132

9.4.3 跳转语句 134

9.5 JavaScript事件 135

9.6 JavaScript脚本嵌入方式 136

9.6.1 在HTML中嵌入JavaScript脚本 136

9.6.2 应用JavaScript事件调用自定义函数 137

9.6.3 在PHP动态网页中引用JavaScript文件 137

9.6.4 开启浏览器对JavaScript的支持 138

9.7 在PHP中调用JavaScript脚本 141

9.7.1 验证表单元素是否为空 141

9.7.2 制作二级导航菜单 143

9.7.3 控制文本域和复选框 144

9.8 实践与练习 146

第10章 日期和时间 147

视频讲解:59分钟

10.1 系统时区设置 147

10.1.1 时区划分 147

10.1.2 时区设置 148

10.2 PHP日期和时间函数 148

10.2.1 获得本地化时间戳 148

10.2.2 获取当前时间戳 149

10.2.3 获取当前日期和时间 150

10.2.4 获取日期信息 151

10.2.5 检验日期的有效性 151

10.2.6 输出格式化的日期和时间 152

10.2.7 显示本地化的日期和时间 153

10.2.8 将日期和时间解析为UNIX时间戳 156

10.3 日期和时间的应用 157

10.3.1 比较时间的先后 157

10.3.2 实现倒计时功能 157

10.3.3 计算页面脚本的运行时间 158

10.4 实践与练习 159

第2篇 核心技术

第11章 Cookie与Session 162

视频讲解:45分钟

11.1 Cookie管理 162

11.1.1 了解Cookie 163

11.1.2 创建Cookie 164

11.1.3 读取Cookie 165

11.1.4 删除Cookie 165

11.1.5 Cookie的生命周期 166

11.2 Session管理 166

11.2.1 了解Session 167

11.2.2 创建会话 167

11.2.3 Session设置时间 169

11.2.4 通过Session判断用户的操作权限 171

11.3 Session高级应用 173

11.3.1 Session临时文件 173

11.3.2 Session缓存 174

11.3.3 Session数据库存储 174

11.4 Cookie和Session的区别 177

11.5 实践与练习 177

第12章 图形图像处理技术 178

视频讲解:35分钟

12.1 在PHP中加载GD库 178

12.2 JpGraph的安装与配置 179

12.3 图形图像技术的典型应用 180

12.3.1 创建一个简单的图像 180

12.3.2 使用GD2函数在照片上添加文字 181

12.3.3 使用图像处理技术生成验证码 182

12.3.4 使用柱形图统计图书月销售量 183

12.3.5 使用折线图统计图书月销售额 185

12.3.6 使用3D饼形图统计各类商品的年销售额占比 186

12.4 实践与练习 187

第13章 文件系统 189

视频讲解:63分钟

13.1 文件处理 189

13.1.1 打开/关闭文件 189

13.1.2 读写文件 190

13.1.3 操作文件 194

13.2 目录处理 195

13.2.1 打开/关闭目录 195

13.2.2 浏览目录 196

13.2.3 操作目录 197

13.3 文件处理的高级应用 197

13.3.1 远程文件的访问 197

13.3.2 文件指针 197

13.3.3 锁定文件 198

13.4 文件上传 199

13.4.1 配置php.ini文件 199

13.4.2 预定义变量$_FILES 200

13.4.3 文件上传函数 201

13.4.4 多文件上传 202

13.5 实践与练习 203

第14章 面向对象 204

视频讲解:125分钟

14.1 面向对象编程 204

14.1.1 类 205

14.1.2 对象 205

14.1.3 面向对象编程的三大特点 205

14.2 PHP与对象 206

14.2.1 类的定义 206

14.2.2 类的实例化 206

14.2.3 成员方法 206

14.2.4 成员变量 207

14.2.5 类常量 209

14.2.6 构造方法和析构方法 209

14.2.7 继承和多态的实现 212

14.2.8 “$this->”和“::”的使用 214

14.2.9 数据隐藏 215

14.2.10 静态变量(方法) 217

14.3 面向对象的高级应用 218

14.3.1 final关键字 218

14.3.2 抽象类 219

14.3.3 接口的使用 220

14.3.4 复制对象 221

14.3.5 对象比较 223

14.3.6 对象类型检测 223

14.3.7 魔术方法 224

14.4 中文字符串的截取 227

14.5 实践与练习 229

第15章 PHP加密技术 230

视频讲解:22分钟

15.1 PHP加密函数 230

15.1.1 使用crypt()函数进行加密 230

15.1.2 使用md5()函数进行加密 232

15.1.3 使用sha1()函数进行加密 233

15.2 PHP加密扩展库 234

15.2.1 Hash扩展库 234

15.2.2 OpenSSL扩展库 235

15.3 实践与练习 237

第16章 MySQL数据库基础 238

视频讲解:54分钟

16.1 MySQL概述 238

16.2 启动和关闭MySQL服务器 239

16.3 操作MySQL数据库 240

16.3.1 创建数据库 240

16.3.2 选择数据库 241

16.3.3 查看数据库 241

16.3.4 删除数据库 241

16.4 MySQL数据类型 242

16.4.1 数值类型 242

16.4.2 字符串类型 243

16.4.3 日期和时间类型 244

16.5 操作数据表 244

16.5.1 创建数据表 245

16.5.2 查看表结构 246

16.5.3 修改表结构 246

16.5.4 重命名数据表 247

16.5.5 删除数据表 247

16.6 数据表记录的更新操作 248

16.7 数据表记录的查询操作 249

16.8 MySQL中的特殊字符 253

16.9 实践与练习 253

第17章 phpMyAdmin图形化管理工具 255

视频讲解:22分钟

17.1 认识phpMyAdmin 255

17.2 phpMyAdmin的使用 256

17.2.1 操作数据库 256

17.2.2 操作数据表 258

17.2.3 使用SQL语句操作数据表 260

17.2.4 管理数据记录 263

17.2.5 生成和执行MySQL数据库脚本 265

17.3 实践与练习 266

第18章 PHP操作MySQL数据库 267

视频讲解:51分钟

18.1 PHP操作MySQL数据库的方法 267

18.1.1 连接MySQL服务器 267

18.1.2 选择MySQL数据库 268

18.1.3 执行SQL语句 269

18.1.4 将结果集返回数组中 270

18.1.5 从结果集中获取一行作为对象 272

18.1.6 从结果集中获取一行作为枚举数组 272

18.1.7 从结果集中获取一行作为关联数组 273

18.1.8 获取查询结果集中的记录数 274

18.1.9 释放内存 275

18.1.10 关闭连接 275

18.1.11 连接与关闭MySQL服务器的最佳时机 276

18.2 管理MySQL数据库中的数据 276

18.2.1 添加数据 277

18.2.2 编辑数据 277

18.2.3 删除数据 280

18.2.4 批量数据操作 281

18.3 实践与练习 282

第19章 PDO数据库抽象层 283

视频讲解:58分钟

19.1 什么是PDO 283

19.2 PDO连接数据库 284

19.2.1 PDO构造函数 284

19.2.2 DSN详解 285

19.3 PDO中执行SQL语句 285

19.4 PDO中获取结果集 286

19.4.1 fetch方法 286

19.4.2 fetchAll方法 287

19.4.3 fetchColumn方法 288

19.5 PDO中捕获SQL语句中的错误 290

19.5.1 PDO::ERRMODE_SILENT 290

19.5.2 PDO::ERRMODE_WARNING 291

19.5.3 PDO::ERRMODE_EXCEPTION 292

19.6 PDO错误处理 294

19.6.1 errorCode方法 294

19.6.2 errorInfo方法 295

19.7 PDO事务处理 296

19.8 PDO存储过程 297

19.9 实践与练习 298

第20章 ThinkPHP框架 299

视频讲解:99分钟

20.1 ThinkPHP简介 299

20.1.1 主要新特性 300

20.1.2 环境要求 300

20.1.3 下载和安装 300

20.2 ThinkPHP基础 301

20.2.1 目录结构 301

20.2.2 命名规范 302

20.2.3 架构总览 303

20.3 ThinkPHP的配置 305

20.3.1 配置目录 305

20.3.2 入口配置 306

20.3.3 多应用模式 308

20.3.4 资源配置 309

20.3.5 调试配置 310

20.4 路由 310

20.4.1 路由概述 310

20.4.2 路由模式 311

20.4.3 定义路由 311

20.4.4 路由表达式 314

20.4.5 路由地址 315

20.4.6 路由分组 315

20.4.7 MISS路由 315

20.5 控制器 316

20.5.1 控制器的定义 316

20.5.2 重定向 317

20.6 数据库 317

20.6.1 数据库的连接 317

20.6.2 数据库基础操作 319

20.7 模型 323

20.7.1 模型的定义 323

20.7.2 模型基础操作 324

20.8 视图 328

20.8.1 模板渲染 328

20.8.2 模板赋值 329

20.9 模板 330

20.9.1 变量输出 330

20.9.2 使用函数 331

20.9.3 内置标签 332

20.10 实践与练习 334

第3篇 高级应用

第21章 Smarty模板技术 338

视频讲解:52分钟

21.1 Smarty简介 338

21.2 Smarty的安装配置 339

21.2.1 Smarty的下载和安装 339

21.2.2 第一个Smarty程序 339

21.2.3 Smarty的配置 341

21.3 Smarty模板设计 342

21.3.1 Smarty模板文件 343

21.3.2 注释 343

21.3.3 变量 343

21.3.4 修饰变量 345

21.3.5 流程控制 346

21.4 Smarty程序设计 349

21.4.1 Smarty中的常用方法 349

21.4.2 Smarty的配置变量 350

21.5 Smarty模板的应用 351

21.5.1 将Smarty的配置方法封装到类中 351

21.5.2 Smarty+ADODB整合应用 352

21.6 实践与练习 354

第22章 PHP与XML技术 355

视频讲解:36分钟

22.1 XML概述 355

22.2 XML语法 356

22.3 在PHP中创建XML文档 359

22.4 SimpleXML类库 359

22.4.1 创建SimpleXML对象 359

22.4.2 遍历所有子元素 360

22.4.3 遍历所有属性 361

22.4.4 访问特定结点元素和属性 362

22.4.5 修改XML数据 362

22.4.6 保存XML文档 363

22.5 动态创建XML文档 364

22.6 实践与练习 365

第23章 PHP与Ajax技术 366

视频讲解:28分钟

23.1 Ajax概述 366

23.2 Ajax使用的技术 368

23.3 XMLHttpRequest对象 369

23.3.1 XMLHttpRequest对象的初始化 369

23.3.2 XMLHttpRequest对象的常用属性 369

23.3.3 XMLHttpRequest对象的常用方法 371

23.4 Ajax开发需要注意的几个问题 373

23.5 PHP中Ajax技术的典型应用 374

23.5.1 检测用户名是否已被占用 374

23.5.2 博客文章类别添加 375

23.6 实践与练习 378

第24章 PHP与Swoole技术 379

视频讲解:32分钟

24.1 Swoole概述 379

24.1.1 什么是Swoole 379

24.1.2 Swoole框架简介 380

24.2 Swoole下载与安装 381

24.2.1 下载Swoole 382

24.2.2 安装Swoole 382

24.3 创建TCP服务器 384

24.3.1 搭建服务端 384

24.3.2 搭建客户端 385

24.4 Thinkphp + Swoole应用 387

24.4.1 搭建HTTP Server服务端 387

24.4.2 创建WebSocket应用 390

24.5 实践与练习 391

第4篇 项目实战

第25章 应用Smarty模板开发电子商务网站 394

视频讲解:17分钟

25.1 项目设计思路 394

25.1.1 功能阐述 394

25.1.2 功能结构 395

25.1.3 开发环境 396

25.1.4 文件夹组织结构 396

25.2 数据库设计 397

25.2.1 数据库分析 397

25.2.2 创建数据库和数据表 398

25.3 公共文件设计 401

25.3.1 数据库连接、管理和分页类文件 401

25.3.2 Smarty模板配置类文件 404

25.3.3 执行类的实例化文件 404

25.4 前台首页设计 404

25.4.1 前台首页技术分析 405

25.4.2 前台首页实现过程 405

25.5 登录模块设计 407

25.5.1 登录模块概述 407

25.5.2 登录模块技术分析 407

25.5.3 用户注册 409

25.5.4 用户登录 410

25.5.5 找回密码 412

25.6 会员信息模块设计 416

25.6.1 会员信息模块概述 416

25.6.2 会员信息模块技术分析 416

25.6.3 会员中心 417

25.6.4 安全退出 420

25.7 商品展示模块设计 420

25.7.1 商品展示模块概述 420

25.7.2 商品展示模块技术分析 421

25.7.3 商品展示模块的实现过程 422

25.8 购物车模块设计 424

25.8.1 购物车模块概述 424

25.8.2 购物车模块技术分析 425

25.8.3 购物车展示 426

25.8.4 更改商品数量 428

25.8.5 删除商品 428

25.8.6 保存购物车 431

25.9 收银台模块设计 432

25.9.1 收银台模块概述 432

25.9.2 收银台模块技术分析 433

25.9.3 显示订单 433

25.9.4 填写订单 433

25.9.5 处理订单 434

25.10 后台首页设计 435

25.10.1 后台首页概述 435

25.10.2 后台首页技术分析 436

25.10.3 后台首页实现过程 437

25.11 开发常见问题与解决 439

第26章 应用ThinkPHP框架开发编程e学网 441

视频讲解:17分钟

26.1 项目设计思路 441

26.2 系统开发必备 443

26.2.1 系统开发环境 443

26.2.2 文件夹组织结构 444

26.3 数据库设计 444

26.3.1 数据库分析 444

26.3.2 数据表设计 444

26.3.3 连接数据库 446

26.4 前台应用设计 447

26.4.1视频首页设计 447

26.4.2 登录注册页面设计 448

26.4.3视频列表页面设计 452

26.4.4视频播放页面设计 453

26.4.5 会员中心页面设计 456

26.5 后台应用设计 457

26.5.1 课程管理 457

26.5.2 资源管理 459

26.5.3 注册会员 461

26.5.4 账号管理 462