图书目录

目 录

第1章 快速进入PHP的世界     001

1.1 认识PHP  002

1.1.1 PHP是什么  002

1.1.2 PHP语言的优势   002

1.1.3 PHP的应用领域   002

1.1.4 PHP的发展过程   003

1.2 PHP 7的新特征    004

1.3 搭建PHP集成开发环境  006

1.4 PHP开发工具    009

1.4.1 使用记事本  009

1.4.2 使用PhpStorm开发工具   009

1.5 新手疑难问题解答   014

1.6 实战技能训练营   015

第2章 基本语法     016

2.1 PHP 7语言标识的新变化   017

2.2 编码规范   017

2.2.1 什么是编码规范   017

2.2.2 PHP的一些编码规范    018

2.3 PHP的数据类型    019

2.3.1 数据类型   020

2.3.2 数据类型之间的相互转换  021

2.3.3 检测数据类型  022

2.4 常量    022

2.4.1 声明和使用常量   022

2.4.2 使用系统预定义常量    023

2.5 变量    024

2.5.1 PHP中的变量声明  024

2.5.2 可变变量和变量的引用   025

2.6 PHP运算符     026

2.6.1 算术运算符  026

2.6.2 字符串连接符  027

2.6.3 赋值运算符  028

2.6.4 比较运算符  028

2.6.5 逻辑运算符  029

2.6.6 按位运算符  029

2.6.7 否定控制运算符   029

2.6.8 错误控制运算符   030

2.6.9 三元运算符  030

2.6.10 运算符的优先级和结合规则  030

2.7 PHP 7的新特性—合并运算符和组合运算符     031

2.8 PHP中的表达式    032

2.9 新手疑难问题解答   032

2.10 实战技能训练营    032

第3章 流程控制语句     034

3.1 程序结构   035

3.2 条件控制语句    036

3.2.1 if语句    036

3.2.2 if…else语句   037

3.2.3 elseif语句   037

3.2.4 switch语句  038

3.3 循环控制语句    040

3.3.1 for循环语句   040

3.3.2 while循环语句   041

3.3.3 do…while循环语句    042

3.3.4 流程控制的另一种书写格式   043

3.4 跳转语句    044

3.4.1 break语句  044

3.4.2 continue语句   045

3.5 新手疑难问题解答   045

3.6 实战技能训练营   046

第4章 字符串和正则表达式   048

4.1 定义字符串的方法   049

4.1.1 使用单引号或双引号定义字符串 049

4.1.2 使用定界符定义字符串    050

4.1.3 字符串的连接符    050

4.2 字符串操作     051

4.2.1 去除字符串首尾空格和特殊字符  051

4.2.2 获取字符串的长度   053

4.2.3 截取字符串   053

4.2.4 检索字符串   054

4.2.5 替换字符串   054

4.2.6 分割和合成字符串   055

4.2.7 统计字符串中单词的个数   056

4.3 正则表达式     057

4.3.1 正则表达式概述    057

4.3.2 行定位符    057

4.3.3 元字符     058

4.3.4 限定符     058

4.3.5 方括号([ ])   058

4.3.6 连字符(-)    059

4.3.7 选择字符    059

4.3.8 转义字符    059

4.3.9 分组    059

4.3.10 认证E-mail 的正则表达式    060

4.4 Perl 兼容正则表达式函数   060

4.4.1 使用正则表达式对字符串进行匹配    060

4.4.2 使用正则表达式替换字符串的   子串    062

4.4.3 使用正则表达式切分字符串    062

4.5 正则表达式在PHP 中的应用案例  063

4.6 新手疑难问题解答   065

4.7 实战技能训练营   067

第5 章 精通函数的应用     068

5.1 认识函数   069

5.2 自定义函数     069

5.2.1 定义和调用函数    069

5.2.2 函数中变量作用域   070

5.3 参数传递和返回值   072

5.3.1 向函数传递参数值   072

5.3.2 向函数传递参数引用     073

5.3.3 函数的返回值   073

5.4 函数的引用和取消   074

5.4.1 引用函数    074

5.4.2 取消函数引用   074

5.5 函数的高级应用技能   075

5.5.1 变量函数    075

5.5.2 销毁函数中的变量   075

5.6 常用的内置函数   076

5.6.1 数学函数    076

5.6.2 变量相关的函数    077

5.6.3 PHP 7 新增intdiv() 函数    078

5.7 包含文件    078

5.7.1 require 和include    078

5.7.2 include_once 和require_once    079

5.8 新手疑难问题解答   079

5.9 实战技能训练营   080

第6 章 玩转数组      081

6.1 数组是什么     082

6.2 创建数组   082

6.2.1 使用array() 函数创建数组   082

6.2.2 通过赋值方式创建数组    083

6.3 数组类型   083

6.3.1 数字索引数组   083

6.3.2 关联数组    084

6.4 多维数组   084

6.5 遍历数组   085

6.6 统计数组元素个数   087

6.7 查询数组中指定元素   087

6.8 获取并删除数组中最后一个元素   088

6.9 获取并删除数组中第一个元素    088

6.10 向数组添加元素    089

6.11 删除数组中重复元素  089

6.12 数组的排序    090

6.13 字符串与数组的转换  091

6.14 调换数组中的键值和元素值    092

6.15 新手疑难问题解答   092

6.16 实战技能训练营    093

第7 章 面向对象编程      094

7.1 认识面向对象    095

7.1.1 什么是类    095

7.1.2 什么是对象   095

7.1.3 面向对象编程的特点     096

7.2 类和对象的基本操作   097

7.2.1 定义类     097

7.2.2 成员方法    097

7.2.3 类的实例化   097

7.2.4 成员变量    098

7.2.5 类常量     099

7.2.6 构造方法和析构方法     100

7.2.7 “$this->”和“::”的使用   102

7.2.8 继承和多态   103

7.2.9 数据封装    105

7.2.10 静态变量和方法    106

7.3 对象的高级应用   107

7.3.1 final 关键字   107

7.3.2 抽象类     108

7.3.3 使用接口    108

7.3.4 检测对象类型   109

7.3.5 魔术方法(_ _)   110

7.4 PHP 的新特性—匿名类    111

7.5 新手疑难问题解答   112

7.6 实战技能训练营   112

第8 章 PHP 与Web 页面交互    113

8.1 Web 工作原理    114

8.2 HTML 表单     114

8.2.1 HTML 概述   114

8.2.2 HTML 表单   116

8.2.3 表单元素    117

8.3 CSS 美化表单页面   119

8.3.1 CSS 概述    119

8.3.2 插入CSS 样式表    120

8.3.3 使用CSS 美化表单页面    121

8.4 JavaScript 表单验证   122

8.4.1 JavaScript 概述   122

8.4.2 调用JavaScript   123

8.4.3 JavaScript 表单验证   124

8.5 PHP 获取表单数据   125

8.5.1 通过POST 方式获取表单数据   125

8.5.2 通过GET 方式获取表单数据    127

8.6 PHP 对URL 传递的参数进行编码  128

8.7 新手疑难问题解答   129

8.8 实战技能训练营   130

第9 章 MySQL 数据库的基本操作   131

9.1 MySQL 概述    132

9.2 登录MySQL 服务器   132

9.3 操作MySQL 数据库   133

9.3.1 创建数据库   133

9.3.2 查看数据库   133

9.3.3 选择数据库   134

9.3.4 删除数据库   134

9.4 MySQL 数据类型    135

9.4.1 整数类型    135

9.4.2 浮点数类型和定点数类型   136

9.4.3 日期与时间类型    136

9.4.4 文本字符串类型    138

9.4.5 二进制字符串类型   139

9.5 操作数据表     140

9.5.1 创建数据表   140

9.5.2 查看数据表的结构   141

9.5.3 修改数据表结构    142

9.5.4 删除数据表   143

9.6 数据表记录的操作   143

9.6.1 插入记录    143

9.6.2 查询记录    144

9.6.3 修改记录    145

9.6.4 删除记录    145

9.7 查询数据的高级操作   145

9.8 MySQL 中的特殊字符   148

9.9 使用phpMyAdmin 操作MySQL数据库    149

9.9.1 启动phpMyAdmin 管理程序    149

9.9.2 创建数据库和数据表     150

9.9.3 添加数据    151

9.9.4 为MySQL 管理账号加上密码  151

9.10 新手疑难问题解答   152

9.11 实战技能训练营    153

第10 章 PHP 操作MySQL 数据库   156

10.1 PHP 访问MySQL 数据库的步骤  157

10.2 连接数据库前的准备工作   157

10.3 PHP 操作MySQL 数据库   158

10.3.1 连接MySQL 服务器     158

10.3.2 选择数据库    159

10.3.3 创建数据库    160

10.3.4 创建数据表    161

10.3.5 添加一条数据记录     162

10.3.6 一次插入多条数据     164

10.3.7 读取数据   165

10.3.8 释放资源   166

10.3.9 关闭连接   166

10.4 管理MySQL 数据库中的数据   167

10.4.1 添加商品信息    167

10.4.2 查询商品信息    168

10.5 新手疑难问题解答   171

10.6 实战技能训练营    172

第11 章 PDO 数据库抽象层    173

11.1 PDO 是什么    174

11.2 安装PDO     174

11.3 PDO 连接数据库   175

11.4 PDO 中执行SQL 语句 177

11.5 PDO 中获取结果集   178

11.5.1 fetch() 方法    178

11.5.2 fetchAll() 方法    179

11.5.3 fetchColumn() 方法     180

11.6 PDO 中捕获SQL 语句中的错误  181

11.6.1 默认模式   181

11.6.2 警告模式   182

11.6.3 异常模式   183

11.7 PDO 中的错误处理   183

11.8 防止SQL 注入的攻击   184

11.9 PDO 中的事务处理   185

11.10 新手疑难问题解答  186

11.11 实战技能训练营   187

第12 章 日期和时间    188

12.1 系统时区的设置    189

12.1.1 时区划分   189

12.1.2 时区设置   189

12.2 PHP 的日期和时间函数   189

12.2.1 关于Unix 时间戳   189

12.2.2 获取当前的时间戳     190

12.2.3 获取当前的日期和时间    190

12.2.4 使用时间戳获取日期信息    191

12.2.5 检验日期的有效性     193

12.2.6 输出格式化时间戳的日期和时间     194

12.2.7 显示本地化的日期和时间    195

12.2.8 将日期和时间解析为Unix时间戳    196

12.2.9 日期时间在PHP 和MySQL 数据格式之间转换    197

12.3 时间和日期的综合应用  197

12.4 新手疑难问题解答   198

12.5 实战技能训练营    199

第13 章 Cookie 和Session     200

13.1 Cookie 的基本操作   201

13.1.1 什么是Cookie    201

13.1.2 创建Cookie    201

13.1.3 读取Cookie    202

13.1.4 删除Cookie    203

13.1.5 Cookie 的生命周期     204

13.2 Session 管理    205

13.2.1 什么是Session    205

13.2.2 创建会话   205

13.2.3 注册会话变量    206

13.2.4 使用会话变量    206

13.2.5 注销和销毁会话变量    207

13.3 Session 的高级应用  207

13.3.1 Session 临时文件   207

13.3.2 Session 缓存限制器     208

13.3.3 储存Session ID 在Cookie 或URL 中    209

13.4 新手疑难问题解答   209

13.5 实战技能训练营    210

第14 章 图形图像处理技术   211

14.1 在PHP 中加载GD 库  212

14.2 GD 库的应用    214

14.2.1 创建一个简单的图像    215

14.2.2 使用GD2 的函数在照片上添加文字     216

14.2.3 使用图形图像技术生成验证码   217

14.3 JpGraph 库的基本操作  219

14.3.1 JpGraph 的下载    219

14.3.2 JpGraph 的中文配置     219

14.3.3 使用JpGraph 库    220

14.4 JpGraph 库的应用   221

14.4.1 制作折线图    221

14.4.2 制作3D 饼形图    222

14.5 新手疑难问题解答   223

14.6 实战技能训练营    224

第15 章 操作文件与目录    225

15.1 操作文件  226

15.1.1 打开和关闭文件    226

15.1.2 从文件中读取内容     227

15.1.3 将数据写入文件    229

15.1.4 文件的其他操作函数    231

15.2 处理目录  233

15.2.1 打开和关闭目录    233

15.2.2 浏览目录   234

15.2.3 目录的其他操作函数    235

15.3 上传文件  236

15.3.1 配置php.ini 文件   236

15.3.2 预定义变量$_FILES     237

15.3.3 上传文件的函数    237

15.3.4 多文件上传    239

15.4 下载文件  240

15.5 新手疑难问题解答   241

15.6 实战技能训练营    242

第16 章 错误处理和异常处理    244

16.1 常见的错误和异常   245

16.2 错误处理  247

16.2.1 php.ini 中的错误处理机制    247

16.2.2 应用DIE 语句来调试    248

16.2.3 自定义错误和错误触发器    248

16.2.4 错误记录   251

16.3 PHP 7 改变了错误的报告方式   252

16.4 异常处理  253

16.4.1 异常的基本处理方法    253

16.4.2 自定义的异常处理器    254

16.4.3 处理多个异常    255

16.4.4 设置顶层异常处理器    256

16.5 新手疑难问题解答   257

16.6 实战技能训练营    258

第17 章 PHP 加密技术    259

17.1 使用PHP 加密函数  260

17.1.1 使用md5() 函数进行加密    260

17.1.2 使用crypt() 函数进行加密    260

17.1.3 使用sha1() 函数进行加密    261

17.2 使用Mhash 扩展库  262

17.3 新手疑难问题解答   263

17.4 实战技能训练营    264

第18 章 PHP 与Ajax 技术    265

18.1 Ajax 概述     266 18.1.1 什么是Ajax    266

18.1.2 Ajax 的工作过程    268

18.1.3 Ajax 的关键元素    268

18.1.4 Ajax 的优缺点    269

18.2 Ajax 的核心技术    270

18.2.1 全面剖析XMLHttpRequest对象     270

18.2.2 发出Ajax 请求    272

18.2.3 处理服务器响应    273

18.3 Ajax 技术在PHP 中的经典应用   274

18.3.1 应用Ajax 技术检查用户名    274

18.3.2 应用Ajax 技术实现投票功能   277

18.4 新手疑难问题解答   279

18.5 实战技能训练营    280

第19 章 ThinkPHP 框架    281

19.1 认识ThinkPHP    282

19.2 下载和安装ThinkPHP 框架    282

19.3 配置虚拟主机和部署框架   285

19.4 如何使用ThinkPHP 框架   286

19.4.1 URL 访问   286

19.4.2 入口文件   287

19.4.3 ThinkPHP 框架的执行流程    288

19.4.4 项目开发规范    291

19.5 ThinkPHP 的配置   292

19.5.1 配置目录   292

19.5.2 配置格式   293

19.6 ThinkPHP 的控制器 294

19.6.1 定义控制器    294

19.6.2 控制器的初始化    297

19.6.3 跳转和重定向    298

19.7 数据库的基本操作   299

19.7.1 连接数据库    299

19.7.2 运行SQL 操作    303

19.8 ThinkPHP 的模型   303

19.9 ThinkPHP 的视图   304

19.10 新手疑难问题解答  306

第20 章 项目实训1——开发博客系统    307

20.1 系统的需求分析    308

20.1.1 学习目标   308

20.1.2 需求分析   308

20.1.3 系统文档结构    308

20.2 数据库分析    309

20.2.1 分析数据库    309

20.2.2 创建数据表    309

20.3 博客系统的代码实现  310

20.3.1 博客数据模型的文件    310

20.3.2 博客系统的主页面     313

20.3.3 博客新建和修改页面    315

20.3.4 博客删除页面    317

20.4 系统测试  317

第21 章 项目实训2——开发网上订餐系统  319

21.1 系统功能描述   320

21.2 系统功能实现   320

21.2.1 系统功能分析    320

21.2.2 数据流程和数据库     321

21.3 代码的具体实现    323

21.4 程序运行  332

第22 章 项目实训3——开发社区市场系统  335

22.1 必备知识  336

22.2 系统的需求分析    336

22.2.1 学习目标   337

22.2.2 功能分析   337

22.2.3 系统文档结构    337

22.3 还原数据库    338

22.4 社区市场系统的代码实现   338

22.4.1 系统入口文件    338

22.4.2 项目配置文件    339

22.4.3 物品与需求展示控制器    341

22.4.4 用户后台控制器    359

22.4.5 数据模型的文件    371

22.5 系统测试  373