21世纪高等学校计算机专业实用规划教材PHP从入门到精通/千锋教育高教产品研发部 本书特色
本书从初学者的角度出发,通过通俗易懂的语言、丰富多彩的实例,详细介绍了使用PHP进行网络开发应该掌握的各方面技术。全书共分19章,包括PHP开发入门、PHP编程基础、函数、数组、面向对象、错误与异常处理、文件处理、字符串操作、正则表达式、PHP图像处理技术、Web开发基础、PHP与Web页面交互、PHP会话技术、MySQL数据库基础、PHP操作MySQL数据库、PDO数据库抽象层、Smarty模板技术、Laravel框架、PHP-ML人工智能等内容。书中所有知识都结合具体实例进行介绍,涉及的程序代码均附以详细的注释,可以使读者轻松领会PHP程序开发的精髓,快速提高开发技能。 本书适合作为软件开发入门者的自学用书,也适合作为高等院校相关专业的教学参考书,还可供开发人员查阅、参考。
21世纪高等学校计算机专业实用规划教材PHP从入门到精通/千锋教育高教产品研发部 内容简介
本书从初学者的角度出发,通过通俗易懂的语言、丰富多彩的实例,详细介绍了使用PHP进行网络开发应该掌握的各方面技术。
全书共分19章,包括PHP开发入门、PHP编程基础、函数、数组、面向对象、错误与异常处理、文件处理、字符串操作、正则表达式、PHP图像处理技术、Web开发基础、PHP与Web页面交互、PHP会话技术、MySQL数据库基础、PHP操作MySQL数据库、PDO数据库抽象层、Smarty模板技术、Laravel框架、PHP-ML人工智能等内容。书中所有知识都结合具体实例进行介绍,涉及的程序代码均附以详细的注释,可以使读者轻松领会PHP程序开发的精髓,快速提高开发技能。
本书适合作为软件开发入门者的自学用书,也适合作为高等院校相关专业的教学参考书,还可供开发人员查阅、参考。
21世纪高等学校计算机专业实用规划教材PHP从入门到精通/千锋教育高教产品研发部 目录
目录
第1章 PHP开发入门 1
1.1 PHP概述 1
1.1.1 认识PHP 1
1.1.2 PHP语言的优势 2
1.1.3 PHP的应用领域 2
1.2 PHP开发环境搭建 3
1.2.1 常见的PHP集成开发环境 3
1.2.2 安装WampServer 4
1.2.3 WampServer目录介绍 10
1.2.4 测试开发环境 11
1.3 **个PHP程序 12
1.4 PHP程序开发流程 13
1.5 本章小结 14
1.6 习题 14
第2章 PHP编程基础 16
2.1 PHP基本语法 16
2.1.1 PHP标记 16
2.1.2 PHP注释 17
2.1.3 PHP标识符与关键字 19
2.2 PHP变量 20
2.2.1 变量的定义 20
2.2.2 数据类型 20
2.2.3 检测数据类型 25
2.2.4 可变变量 26
2.2.5 变量的引用赋值 27
2.3 PHP常量 27
2.3.1 常量的定义及获取 27
2.3.2 预定义常量 29
2.4 数据类型转换 30
2.4.1 自动类型转换 30
2.4.2 强制类型转换 32
2.5 PHP运算符 34
2.5.1 算术运算符 34
2.5.2 赋值运算符 34
2.5.3 字符串运算符 35
2.5.4 自加/自减运算符 35
2.5.5 比较运算符 37
2.5.6 逻辑运算符 38
2.5.7 三元运算符 39
2.5.8 NULL合并运算符 39
2.5.9 组合比较运算符 40
2.5.10 位运算符 40
2.5.11 其他运算符 41
2.5.12 运算符的优先级 41
2.6 表达式与语句 42
2.7 流程控制语句 42
2.7.1 条件语句 42
2.7.2 循环语句 46
2.7.3 跳转语句 49
2.8 本章小结 52
2.9 习题 52
第3章 函数 54
3.1 函数的基本用法 54
3.1.1 函数的定义 54
3.1.2 函数的调用 55
3.1.3 函数的参数 56
3.1.4 函数的返回值 58
3.2 变量的作用域 59
3.2.1 局部变量 59
3.2.2 全局变量 60
3.2.3 静态变量 62
3.3 函数的高级用法 63
3.3.1 可变函数 63
3.3.2 引用函数返回值 64
3.3.3 函数的嵌套调用 64
3.3.4 函数的递归调用 65
3.3.5 回调函数 67
3.4 PHP手册的使用 69
3.5 本章小结 71
3.6 习题 71
第4章 数组 73
4.1 数组的概念 73
4.2 数组的定义 74
4.3 数组的操作 77
4.3.1 数组输出 77
4.3.2 数组删除 79
4.3.3 数组运算 79
4.3.4 数组遍历 81
4.4 数组的常用函数 85
4.4.1 计算元素个数 86
4.4.2 压入或弹出元素 86
4.4.3 移除重复值 87
4.4.4 获取键名 88
4.4.5 数组排序 90
4.4.6 合并数组 92
4.4.7 拆分数组 93
4.4.8 反转数组 93
4.4.9 随机获取键名 95
4.4.10 打乱数组 95
4.5 二维数组 96
4.5.1 二维数组的定义 96
4.5.2 二维数组的遍历 98
4.6 本章小结 99
4.7 习题 100
第5章 面向对象 101
5.1 面向对象的概念 101
5.1.1 对象与类的概念 101
5.1.2 面向对象的三大特征 102
5.2 类与对象 104
5.2.1 定义类 104
5.2.2 创建对象 105
5.2.3 封装 107
5.2.4 $this的使用 110
5.3 构造方法 111
5.4 析构方法 112
5.5 类常量 113
5.6 静态成员 114
5.7 继承 116
5.7.1 继承的概念 117
5.7.2 子类重写父类方法 118
5.8 抽象类与接口 121
5.8.1 抽象类 121
5.8.2 接口 122
5.9 多态 124
5.10 魔术方法 125
5.10.1 _ _toString() 126
5.10.2 _ _call() 126
5.10.3 _ _autoload() 127
5.10.4 _ _clone() 129
5.11 设计模式 131
5.11.1 单例模式 131
5.11.2 工厂模式 132
5.12 本章小结 133
5.13 习题 133
第6章 错误与异常处理 135
6.1 错误处理 135
6.1.1 错误类型 135
6.1.2 错误级别 136
6.1.3 显示错误报告 136
6.1.4 记录错误日志 139
6.1.5 自定义错误处理 140
6.2 异常处理 142
6.2.1 异常处理的概念 142
6.2.2 异常处理实现 143
6.2.3 自定义异常 145
6.2.4 多个异常 146
6.2.5 重抛异常 149
6.2.6 自定义异常处理 150
6.3 调试方法 151
6.3.1 使用输出语句进行调试 151
6.3.2 使用文件记录进行调试 152
6.3.3 使用Xdebug进行调试 153
6.4 本章小结 154
6.5 习题 154
第7章 文件处理 156
7.1 文件概述 156
7.1.1 文件类型 156
7.1.2 文件属性 158
7.2 文件操作 160
7.2.1 打开与关闭文件 161
7.2.2 读取文件 162
7.2.3 写入文件 165
7.2.4 删除文件 167
7.2.5 重命名文件 168
7.2.6 复制文件 169
7.3 目录操作 170
7.3.1 创建和删除目录 170
7.3.2 遍历目录 172
7.3.3 解析目录 173
7.3.4 统计目录下文件大小 175
7.4 本章小结 177
7.5 习题 177
第8章 字符串操作 179
8.1 字符串构成 179
8.2 常用的字符串操作 180
8.2.1 去除字符串两边的字符 180
8.2.2 去除字符串左边的字符 181
8.2.3 去除字符串右边的字符 182
8.2.4 将字符串转换为小写 182
8.2.5 字符串首字母大写转换 183
8.2.6 单词首字母大写转换 184
8.2.7 字符串的替换 184
8.2.8 字符串的部分替换 185
8.2.9 获取字符串长度 186
8.2.10 截取字符串 186
8.2.11 比较字符串 188
8.2.12 查找字符串 190
8.2.13 查找字符串出现次数 190
8.2.14 查找字符串*后一次出现的位置 191
8.2.15 查找字符串**次出现的位置 192
8.2.16 将字符串分割成小块 193
8.2.17 在字符串中插入字符串 194
8.2.18 字符串的分解和合并 195
8.3 字符串其他操作 196
8.3.1 MD5的应用 196
8.3.2 使用MIME base64编码加密和解密数据 196
8.3.3 创建格式化输出 197
8.3.4 ASCII码与字符串 198
8.4 本章小结 199
8.5 习题 199
第9章 正则表达式 201
9.1 初识正则表达式 201
9.1.1 正则表达式的概念 201
9.1.2 正则表达式应用场景 202
9.2 正则表达式语法规则 202
9.2.1 行定位符 202
9.2.2 单词定界符 202
9.2.3 字符类 203
9.2.4 选择字符 203
9.2.5 连字符 204
9.2.6 反义字符 204
9.2.7 限定符 204
9.2.8 点字符 205
9.2.9 转义字符 205
9.2.10 反斜线 205
9.2.11 括号字符 206
9.2.12 反向引用 206
9.3 正则表达式相关函数 207
9.3.1 preg_match()函数 207
9.3.2 preg_match_all()函数 208
9.3.3 preg_replace()函数 209
9.3.4 preg_split()函数 209
9.3.5 preg_grep()函数 210
9.4 正则表达式常见应用 211
9.4.1 手机号码和邮箱验证 211
9.4.2 验证网址URL合法性 212
9.5 正则表达式用法自查表 214
9.6 本章小结 215
9.7 习题 215
第10章 PHP图像处理技术 217
10.1 PHP图像基础知识 217
10.1.1 在PHP中加载GD库 217
10.1.2 常见图像格式 218
10.1.3 JpGraph图表库 219
10.2 PHP绘图的基本步骤 220
10.2.1 创建画布 221
10.2.2 设置颜色 221
10.2.3 生成图像 221
10.2.4 释放资源 222
10.3 PHP图像处理的常见应用 223
10.3.1 制作水印图 224
10.3.2 制作验证码 227
10.4 本章小结 231
10.5 习题 232
第11章 Web开发基础 233
11.1 HTTP 233
11.1.1 HTTP简介 233
11.1.2 HTTP工作流程 234
11.1.3 HTTP请求与响应 234
11.1.4 HTTP消息报头 235
11.2 初识表单 238
11.3 输入标记 239
11.3.1 文本域text 239
11.3.2 密码域password 241
11.3.3 文件域file 242
11.3.4 “提交”和“重置”按钮 243
11.3.5 复选框 244
11.3.6 单选按钮 245
11.4 下拉列表标记 247
11.5 本章小结 249
11.6 习题 249
第12章 PHP与Web页面交互 250
12.1 表单与PHP的关系 250
12.2 提交表单信息 251
12.2.1 GET方法提交表单 251
12.2.2 POST方法提交表单 252
12.3 PHP获取表单信息 253
12.3.1 获取文本框的值 254
12.3.2 获取文件域的值 255
12.3.3 获取复选框的值 256
12.3.4 获取下拉列表的值 258
12.3.5 获取单选按钮的值 260
12.3.6 使用$_GET[]获取表单信息 261
12.4 URL操作 262
12.4.1 获取URL传递的参数 262
12.4.2 URL的编码与解码 263
12.5 文件上传和下载 264
12.5.1 文件上传 264
12.5.2 文件下载 267
12.6 综合应用案例 269
12.7 本章小结 273
12.8 习题 273
第13章 PHP会话技术 274
13.1 会话技术概述 274
13.2 Cookie技术 274
13.2.1 Cookie概述 274
13.2.2 创建Cookie 275
13.2.3 读取Cookie 276
13.2.4 删除Cookie 277
13.2.5 Cookie应用案例 278
13.3 Session技术 279
13.3.1 Session概述 279
13.3.2 启动Session 280
13.3.3 向Session中添加数据 280
13.3.4 读取Session中的数据 281
13.3.5 删除Session中的数据 281
13.3.6 Session应用案例 283
13.4 本章小结 287
13.5 习题 287
第14章 MySQL数据库基础 289
14.1 数据库简介 289
14.2 MySQL的使用 290
14.2.1 启动和停止MySQL服务 290
14.2.2 登录和退出MySQL数据库 292
14.3 MySQL支持的数据类型 294
14.3.1 数值类型 294
14.3.2 字符串类型 295
14.3.3 日期和时间类型 296
14.4 数据库的基本操作 299
14.4.1 创建和查看数据库 299
14.4.2 使用数据库 300
14.4.3 修改数据库 301
14.4.4 删除数据库 301
14.5 数据表的基本操作 302
14.5.1 创建数据表 302
14.5.2 查看数据表 303
14.5.3 修改数据表 304
14.5.4 删除数据表 307
14.6 数据表中数据的基本操作 307
14.6.1 插入数据 308
14.6.2 查询数据 308
14.6.3 更新数据 310
14.6.4 删除数据 311
14.7 本章小结 311
14.8 习题 312
第15章 PHP操作MySQL数据库 313
15.1 PHP访问MySQL数据库的一般步骤 313
15.2 PHP操作MySQL数据库的方法 314
15.2.1 数据准备 314
15.2.2 连接数据库 315
15.2.3 选择数据库 316
15.2.4 执行SQL语句 317
15.2.5 关闭数据库连接 319
15.2.6 从数组结果集中获取信息 320
15.2.7 获取结果集中一行记录作为对象 321
15.2.8 逐行获取结果集中的每条记录 322
15.2.9 获取查询结果集中的记录数 323
15.2.10 获取结果集中的记录作为关联数组 324
15.3 PHP操作MySQL实战演练 326
15.3.1 数据准备 326
15.3.2 使用insert语句动态添加学生信息 326
15.3.3 使用select语句查询用户信息 331
15.3.4 使用update语句动态编辑用户信息 336
15.3.5 使用delete语句动态删除用户信息 343
15.4 本章小结 348
15.5 习题 348
第16章 PDO数据库抽象层 350
16.1 PDO概述 350
16.1.1 PDO简介 350
16.1.2 PDO的安装 351
16.2 使用PDO连接数据库 351
16.2.1 数据准备 351
16.2.2 PDO构造函数 352
16.2.3 DSN详解 353
16.3 PDO中执行SQL语句 353
16.3.1 使用PDO::exec()方法 354
16.3.2 使用PDO::query()方法 355
16.3.3 使用PDO::prepare()和PDOStatement::execute()方法 356
16.4 PDO中获取结果集 356
16.4.1 使用fetch()方法 356
16.4.2 使用fetchAll()方法 358
16.4.3 使用fetchColumn()方法 360
16.5 PDO中的错误处理 361
16.5.1 errorCode()方法 361
16.5.2 errorInfo()方法 363
16.6 PDO中的事务处理 364
16.7 本章小结 366
16.8 习题 366
第17章 Smarty模板技术 368
17.1 Smarty模板简介 368
17.1.1 Smarty的概念 368
17.1.2 Smarty的工作原理 368
17.1.3 Smarty的特性 369
17.2 Smarty的安装和配置 370
17.2.1 Smarty的下载和安装 370
17.2.2 Smarty目录分析 370
17.2.3 Smarty配置 370
17.2.4 **个Smarty的简单示例 370
17.3 Smarty模板基本语法 373
17.3.1 注释 373
17.3.2 变量 373
17.3.3 函数 376
17.3.4 属性 376
17.3.5 双引号中嵌入变量 376
17.3.6 数学计算 377
17.3.7 避免Smarty的解析 377
17.4 Smarty内置函数 377
17.4.1 {$var=…} 377
17.4.2 {append} 377
17.4.3 {assign} 378
17.4.4 {config_load} 378
17.4.5 {for}循环 378
17.4.6 {while}循环 379
17.4.7 {foreach}遍历 379
17.4.8 {if}{elseif}{else}条件 379
17.5 Smarty模板继承 379
17.5.1 使用{extends}函数实现模板继承 380
17.5.2 在子模板中覆盖父模板中部分内容 380
17.5.3 合并子模板和父模板的{block}标签内容 382
17.6 Smarty缓存控制 385
17.6.1 配置缓存时间 385
17.6.2 为每个缓存设置$cache_lifetime 386
17.6.3 关闭$compile_check 386
17.6.4 使用isCached()函数 387
17.6.5 删除缓存 387
17.7 本章小结 388
17.8 习题 388
第18章 Laravel框架 390
18.1 初识Laravel框架 390
18.1.1 Laravel框架简介 390
18.1.2 Laravel框架的技术特点 390
18.2 Laravel框架安装 391
18.2.1 通过一键安装包安装 391
18.2.2 通过Composer安装 392
18.3 Laravel框架目录结构 397
18.3.1 根目录 397
18.3.2 app目录 398
18.4 Laravel的生命周期 399
18.4.1 生命周期概述 399
18.4.2 生命周期详解 399
18.5 Laravel服务容器 400
18.5.1 控制反转和依赖注入 400
18.5.2 服务容器 400
18.6 Laravel服务提供者 402
18.6.1 服务提供者概念 402
18.6.2 服务提供者举例说明 402
18.7 Laravel路由详解 407
18.7.1 路由基本概念 407
18.7.2 基础路由 407
18.7.3 多请求路由 408
18.7.4 路由前缀 408
18.8 Laravel控制器 408
18.8.1 创建控制器 409
18.8.2 结合路由设置控制器 409
18.8.3 带参数的路由使用控制器 409
18.8.4 测试用例 409
18.9 Laravel视图 410
18.9.1 创建控制器 410
18.9.2 匹配路由 411
18.9.3 新建视图 411
18.9.4 测试用例 411
18.10 Laravel数据库操作 412
18.10.1 数据库配置 412
18.10.2 连接数据库 413
18.10.3 DB Facade原始方式 415
18.10.4 查询构造器 417
18.11 本章小结 421
18.12 习题 421
第19章 PHP-ML人工智能 423
19.1 初识PHP-ML 423
19.2 机器学习概述 424
19.2.1 机器学习的概念 424
19.2.2 机器学习的研究领域 424
19.3 机器学习算法 426
19.3.1 机器学习算法概念 426
19.3.2 机器学习算法分类 426
19.3.3 机器学习实施过程 430
19.4 PHP-ML库 431
19.4.1 PHP-ML安装 432
19.4.2 PHP-ML目录结构 433
19.4.3 PHP-ML入门案例 434
19.5 本章小结 438
19.6 习题 439
附录A 自定义搭建PHP开发环境 440