PHP动态网站开发案例课堂
《PHP动态网站开发案例课堂》是2016年3月1日清华大学出版社出版的图书,作者是刘玉红、蒲娟。
基本介绍
- 书名:PHP动态网站开发案例课堂
- 作者:刘玉红、蒲娟
- ISBN:9787302428862
- 定价:68元
- 出版社:清华大学出版社
- 出版时间:2016年3月1日
内容简介
本书以零基础讲解为宗旨,用实例引导读者深入学习,採取“PHP基础知识→核心技术→操作数据库→高级套用→项目实战”的讲解模式,深入浅出地讲解PHP开发动态网站的各项技术及实战技能。本书第1篇“PHP基础知识”主要讲解初识PHP,配置PHP伺服器环境,PHP语言基础,流程控制和函式,字元串和正则表达式、PHP数组及操作等;第2篇“核心技术”主要讲解PHP与Web页面互动、时间和日期,面向对象编程,错误、异常处理与调试,档案系统与操作,图形图像处理技术,Cookie和会话管理,PHP加密技术等;第3篇“运算元据库”主要讲解MySQL资料库基础,使用MySQL Workbench管理MySQL资料库,PHP操作MySQL资料库等;第4篇“高级套用”主要讲解PDO资料库抽象类库,JavaScript编程基础,PHP与XML技术的综合套用,PHP与Ajax的综合套用,MVC结构与Smarty模板,Zend Framework框架等;第5篇“项目实战”主要通过一个综合案例开发论坛来整体讲解PHP在动态网站开发中的技术。本书附带的DVD光碟中赠送了丰富的资源,诸如本书实例完整原始码、教学幻灯片、本书精品教学视频、常用SQL语句速查手册、PHP常用函式速查手册、16个经典项目开发完整源码、PHP网站开发工程师面试技巧、PHP网站开发工程师常见面试题、优秀网站开发工程师之路——网站开发经验及技巧大汇总。本书适合任何想学习PHP开发动态网站的人员,无论您是否从事计算机相关行业,无论您是否接触过PHP,通过学习均可快速掌握PHP开发动态网站的方法和技巧。
章节目录
第1篇PHP基础知识
第1章初识PHP 3
1.1了解PHP 4
1.1.1PHP的概念 4
1.1.2PHP的发展历程 4
1.1.3PHP语言的优势 5
1.2PHP的套用领域 5
1.3PHP5.5的新特点 6
1.4PHP常用开发工具 8
1.4.1PHP代码开发工具 8
1.4.2网页设计工具 9
1.4.3文本编辑工具 9
1.5网站建设的基本流程 10
1.5.1网站规划 10
1.5.2蒐集资料 10
1.5.3製作网页 11
1.5.4网站测试 12
1.5.5申请域名 12
1.5.6申请空间 12
1.5.7网站备案 12
1.5.8发布网页 16
1.5.9网站推广和维护 16
1.6高手甜点 17
1.7跟我练练手 17
第2章配置PHP伺服器环境 19
2.1PHP伺服器概述 20
2.2安装PHP前的準备工作 20
2.2.1软硬体环境 20
2.2.2实例1——获取PHP5.5安装
资源包 21
2.3PHP+IIS伺服器的安装配置 22
2.3.1实例2——IIS简介及其安装 23
2.3.2实例3——PHP的安装 24
2.3.3实例4——设定虚拟目录 26
2.4PHP+Apache伺服器的环境搭建 27
2.4.1Apache简介 28
2.4.2实例5——关闭原有的网站
伺服器 28
2.4.3实例6——安装Apache 29
2.4.4实例7——将PHP与Apache
建立关联 30
2.5实例8——Windows下使用WampServer
组合包 32
2.6实例9——测试第一个PHP程式 34
2.7高手甜点 35
2.8跟我练练手 36
第3章PHP语言基础 37
3.1PHP标识 38
3.1.1短风格 38
3.1.2Script风格 38
3.1.3ASP风格 38
3.2编码规範 38
3.2.1什幺是编码规範 39
3.2.2PHP的一些编码规範 39
3.3常量 40
3.3.1实例1——声明和使用常量 40
3.3.2实例2——内置常量 41
3.4变数 43
3.4.1PHP中的变数声明 43
3.4.2实例3——可变变数与变数的
引用 43
3.4.3实例4——变数作用域 44
3.5变数的类型 48
3.5.1什幺是类型 48
3.5.2整型 49
3.5.3浮点型 49
3.5.4布尔型 49
3.5.5实例5——字元串型 50
3.5.6实例6——数组型 51
3.5.7对象型 53
3.5.8NULL型 53
3.5.9资源类型 54
3.5.10实例7——数据类型之间相互
转换 54
3.6运算符 55
3.6.1实例8——算术运算符 55
3.6.2实例9——字元串运算符 56
3.6.3赋值运算符 57
3.6.4实例10——比较运算符 58
3.6.5逻辑运算符 59
3.6.6按位运算符 59
3.6.7否定控制运算符 60
3.6.8错误控制运算符 60
3.6.9三元运算符 60
3.6.10运算符的优先权和结合规则 60
3.7PHP的表达式 60
3.8实例11——创建多维数组 61
3.9高手甜点 62
3.10跟我练练手 62
第4章流程控制和函式 63
4.1流程控制概述 64
4.2条件控制结构 64
4.2.1实例1——单一条件分支结构
(if语句) 64
4.2.2实例2——双向条件分支结构
(if…else语句) 65
4.2.3实例3——多向条件分支结构
(elseif语句) 66
4.2.4实例4——多向条件分支结构
(switch语句) 68
4.3循环控制结构 69
4.3.1实例5——while循环语句 69
4.3.2实例6——do…while循环
语句 71
4.3.3实例7——for循环语句 72
4.3.4实例8——foreach循环语句 73
4.3.5实例9——流程控制的另一种
书写格式 74
4.3.6实例10——使用break/continue
语句跳出循环 76
4.4函式 77
4.4.1PHP函式概述 77
4.4.2实例11——定义和调用函式 77
4.4.3实例12——向函式传递参数
数值 78
4.4.4实例13——向函式传递参数
引用 79
4.4.5实例14——从函式中返回值 80
4.4.6实例15——对函式的引用 81
4.4.7实例16——对函式取消引用 82
4.5实例17——条件分支结构的综合
套用 83
4.6实例18——循环控制结构的综合
套用 84
4.7高手甜点 85
4.8跟我练练手 86
第5章字元串和正则表达式 87
5.1实例1——字元串的单引号和双引号 88
5.2实例2——字元串的连线符 89
5.3字元串的基本操作 91
5.3.1手动和自动转义字元串中的
字元 91
5.3.2实例3——计算字元串的长度 91
5.3.3实例4——字元串单词统计 92
5.3.4实例5——清理字元串中的
空格 92
5.3.5实例6——字元串切分与组合 93
5.3.6实例7——字元串子串截取 94
5.3.7实例8——字元串子串替换 95
5.3.8实例9——字元串查找 96
5.4什幺是正则表达式 97
5.5正则表达式语法规则 97
5.5.1方括弧([]) 98
5.5.2连字元(-) 98
5.5.3点号字元(.) 98
5.5.4限定符(+、*、?、{n,m}) 98
5.5.5行定位符(^和$) 98
5.5.6排除字元([^]) 99
5.5.7括弧字元(()) 99
5.5.8选择字元(|) 99
5.5.9转义字元(\)与反斜槓(\ 99
5.5.10认证email的正则表达 99
5.5.11实例10——使用正则表达式对
字元串进行匹配 100
5.5.12实例11——使用正则表达式
替换字元串子串 101
5.5.13实例12——使用正则表达式
切分字元串 102
5.6实例13——创建酒店系统线上
订房表 103
5.7高手甜点 106
5.8跟我练练手 106
第6章PHP数组及操作 109
6.1什幺是数组 110
6.2数组类型 110
6.2.1实例1——数字索引数组 110
6.2.2实例2——关联索引数组 111
6.3数组构造 112
6.3.1实例3——一维数组 112
6.3.2实例4——多维数组 113
6.4遍历数组 115
6.4.1实例5——遍历一维数字索引
数组 115
6.4.2实例6——遍历一维联合索引
数组 116
6.4.3实例7——遍历多维数组 117
6.5数组排序 118
6.5.1实例8——一维数组排序 118
6.5.2实例9——多维数组排序 120
6.6实例10——字元串与数组的转换 121
6.7向数组中添加和删除元素 122
6.7.1实例11——向数组中添加
元素 122
6.7.2实例12——从数组中删除
元素 124
6.8实例13——查询数组中指定元素 126
6.9实例14——统计数组元素个数 127
6.10实例15——删除数组中重複元素 129
6.11实例16——调换数组中的键值
和元素值 130
6.12实例17——数组的序列化 131
6.13高手甜点 132
6.14跟我练练手 132
第2篇核心技术
第7章PHP与Web页面互动 137
7.1实例1——使用动态内容 138
7.2表单与PHP 139
7.3表单设计 139
7.3.1表单基本结构 139
7.3.2实例2——文本框 139
7.3.3实例3——选项框 141
7.3.4实例4——单选按钮 142
7.3.5实例5——下拉列表 144
7.3.6实例6——重置按钮 145
7.3.7实例7——提交按钮 146
7.4传递数据的两种方法 148
7.4.1用POST方式传递数据 149
7.4.2实例8——用GET方式传递
数据 149
7.5PHP获取表单传递数据的方法 150
7.6实例9——PHP对URL传递的参数
进行编码 151
7.7实例10——PHP与Web表单的综合
套用 151
7.8高手甜点 153
7.9跟我练练手 154
第8章时间和日期 155
8.1系统时区设定 156
8.1.1时区划分 156
8.1.2时区设定 156
8.2PHP日期和时间函式 156
8.2.1关于UNIX时间戳 156
8.2.2实例1——获取当前时间戳 157
8.2.3获取当前日期和时间 158
8.2.4实例2——使用时间戳获取日期
信息 158
8.2.5实例3——检验日期的
有效性 161
8.2.6实例4——输出格式化时间戳的
日期和时间 162
8.2.7实例5——显示本地化的日期
和时间 163
8.2.8实例6——将日期和时间解析
为UNIX时间戳 165
8.2.9日期和时间在PHP和MySQL
数据格式之间转换 165
8.3实例7——比较两个时间的大小 166
8.4实例8——实现倒计时功能 167
8.5高手甜点 167
8.6跟我练练手 168
第9章面向对象编程 169
9.1类和对象的介绍 170
9.2PHP中类的操作 171
9.2.1类的声明 171
9.2.2成员属性 171
9.2.3成员方法 172
9.2.4类的实例化 172
9.2.5实例1——访问类中的成员属性
和方法 173
9.3实例2——构造方法和析构方法 174
9.4实例3——访问方法 176
9.5实例4——类的继承 178
9.6抽象类和接口 179
9.6.1实例5——抽象类 179
9.6.2实例6——接口 180
9.7面向对象的多态性 183
9.7.1实例7——通过继承实现
多态 183
9.7.2实例8——通过接口实现
多态 184
9.8高手甜点 186
9.9跟我练练手 186
第10章错误、异常处理与调试 187
10.1常见的错误和异常 188
10.2错误处理 191
10.2.1php.ini中的错误处理机制 191
10.2.2实例1——套用DIE语句
调试 191
10.2.3实例2——自定义错误和错误
触发器 192
10.2.4实例3——错误记录 196
10.3异常处理 197
10.3.1实例4——异常的基本处理
方法 197
10.3.2实例5——自定义的异常
处理器 199
10.3.3实例6——处理多个异常 200
10.3.4实例7——设定顶层异常
处理器 202
10.4实例8——处理异常或错误 203
10.5高手甜点 204
10.6跟我练练手 205
第11章档案系统与操作 207
11.1档案操作 208
11.1.1实例1——档案数据写入 208
11.1.2实例2——档案数据读取 211
11.2实例3——目录操作 213
11.3实例4——档案的上传 218
11.4实例5——编写文本类型的访客
计算器 220
11.5高手甜点 221
11.6跟我练练手 221
第12章图形图像处理技术 223
12.1实例1——在PHP中载入GD库 224
12.2图形图像的典型套用案例 226
12.2.1实例2——创建一个简单的
图像 226
12.2.2实例3——使用GD2函式在
照片上添加文字 228
12.2.3实例4——使用TrueType字型
处理中文生成图片 229
12.3Jpgraph库的使用 231
12.3.1实例5——Jpgraph的安装 231
12.3.2实例6——Jpgraph的配置 232
12.3.3实例7——製作柱形图
与折线图统计图 232
12.3.4实例8——製作圆形统计图 234
12.4实例9——製作3D饼形统计图 236
12.5高手甜点 237
12.6跟我练练手 238
第13章Cookie和会话管理 239
13.1Cookie基本操作 240
13.1.1什幺是Cookie 240
13.1.2实例1——创建Cookie 240
13.1.3实例2——读取Cookie 241
13.1.4实例3——删除Cookie 242
13.2认识Session 243
13.2.1什幺是Session 243
13.2.2Session基本功能 244
13.2.3Cookie与Session 244
13.2.4储存SessionID在Cookie
或URL中 244
13.3会话管理 244
13.3.1实例4——创建会话 244
13.3.2实例5——注册会话变数 245
13.3.3实例6——使用会话变数 246
13.3.4实例7——注销和销毁会话
变数 246
13.4实例8——会话管理的综合套用 247
13.5高手甜点 248
13.6跟我练练手 249
第14章PHP加密技术 251
14.1使用PHP加密函式 252
14.1.1实例1——使用md5()函式进行
加密 252
14.1.2实例2——使用crypt()函式
进行加密 252
14.1.3实例3——使用sha1()函式进行
加密 254
14.2使用PHP加密扩展库 254
14.2.1实例4——安装和使用Mcrypt
扩展库 254
14.2.2实例5——使用Mhash
扩展库 256
14.3高手甜点 258
14.4跟我练练手 259
第3篇资料库操作
第15章MySQL资料库基础 263
15.1什幺是MySQL 264
15.1.1客户机—伺服器软体 264
15.1.2MySQL版本 264
15.1.3MySQL的优势 265
15.2启动服务并登录MySQL资料库 265
15.2.1实例1——启动MySQL
服务 266
15.2.2实例2——登录MySQL
资料库 267
15.2.3实例3——配置Path变数 269
15.3MySQL资料库的基本操作 271
15.3.1实例4——创建资料库 271
15.3.2实例5——查看资料库 271
15.3.3实例6——删除资料库 272
15.3.4实例7——选择资料库 272
15.4MySQL数据表的基本操作 273
15.4.1实例8——创建数据表 273
15.4.2实例9——查看数据表结构 274
15.4.3实例10——修改数据表
结构 275
15.4.4实例11——删除数据表 276
15.5MySQL语句操作 276
15.5.1实例12——插入记录 277
15.5.2实例13——查询记录 277
15.5.3实例14——修改记录 278
15.5.4实例15——删除记录 278
15.6MySQL资料库的备份与还原 278
15.6.1实例16——数据备份 279
15.6.2实例17——数据还原 285
15.7高手甜点 287
15.8跟我练练手 288
第16章使用MySQLWorkbench
管理MySQL资料库 289
16.1MySQLWorkbench简介 290
16.1.1MySQLWorkbench概述 290
16.1.2MySQLWorkbench的优势 290
16.1.3MySQLWorkbench的安装 290
16.2SQLDevelopment的基本操作 293
16.2.1创建资料库连线 293
16.2.2创建新的资料库 294
16.2.3创建和删除新的数据表 296
16.2.4添加、修改表记录 299
16.2.5查询表记录 299
16.2.6修改表结构 300
16.3DataModeling的基本操作 301
16.3.1建立E-R模型 301
16.3.2导入E-R模型 305
16.4ServerAdministration的基本操作 307
16.4.1管理MySQL用户 307
16.4.2备份MySQL资料库 310
16.4.3还原MySQL资料库 313
16.5高手甜点 314
16.6跟我练练手 315
第17章PHP操作MySQL资料库 317
17.1PHP访问MySQL资料库的一般
步骤 318
17.2实例1——连线资料库前的準备
工作 318
17.3PHP操作MySQL资料库的函式 319
17.3.1实例2——通过mysqli类库访问
MySQL资料库 319
17.3.2实例3——使用mysqli_connect()
函式连线MySQL伺服器 321
17.3.3实例4——使用mysqli_select_db()
函式选择资料库档案 322
17.3.4实例5——使用mysqli_query()
函式执行SQL语句 322
17.3.5实例6——使用mysqli_fetch_assoc()
函式从数组结果集中获取
信息 322
17.3.6实例7——使用mysqli_fetch_
object()函式从结果中获取
一行作为对象 323
17.3.7实例8——使用mysqli_num_
rows()函式获取查询结果
集中的记录数 323
17.3.8实例9——使用mysqli_free_
result()函式释放资源 323
17.3.9实例10——使用mysqli_close()
函式关闭连线 324
17.4实例11——使用insert语句动态添加
用户信息 324
17.5实例12——使用select语句查询数据
信息 326
17.6高手甜点 328
17.7跟我练练手 329
第4篇高级套用
第18章PDO资料库抽象类库 333
18.1PDO概述 334
18.2实例1——PDO的安装 334
18.3使用PDO操作MySQL 335
18.3.1实例2——连线MySQL资料库
的方法 335
18.3.2实例3——使用PDO时的try
catch错误处理结构 336
18.3.3实例4——使用PDO执行SQL
的选择语句 338
18.3.4实例5——使用PDO获取返回
数据的类方法 339
18.3.5实例6——使用PDO执行SQL
的添加、修改语句 341
18.3.6实例7——使用PDO执行SQL
的删除语句 342
18.4实例8——PDO的prepare表述 343
18.5高手甜点 344
18.6跟我练练手 345
第19章JavaScript编程基础 347
19.1认识JavaScript 348
19.1.1什幺是JavaScript 348
19.1.2JavaScript的特点 348
19.2JavaScript在HTML中的使用 349
19.2.1实例1——在HTML网页头中
嵌入JavaScript代码 349
19.2.2实例2——在HTML网页中嵌入
JavaScript代码 350
19.2.3实例3——在HTML网页的元素
事件中嵌入JavaScript代码 351
19.2.4实例4——在HTML中调用已经
存在的JavaScript档案 352
19.2.5实例5——通过JavaScript伪
URL引入JavaScript脚本
代码 353
19.3JavaScript的基本语法 354
19.3.1执行顺序 355
19.3.2区分大小写 355
19.3.3分号与空格 355
19.3.4对代码行进行折行 355
19.3.5实例6——注释 356
19.4JavaScript的数据结构 357
19.4.1标识符 357
19.4.2关键字 358
19.4.3保留字 358
19.4.4常量 359
19.4.5实例7——变数 359
19.5看透代码中的数据类型 361
19.5.1实例8——typeof运算符 362
19.5.2实例9——Undefined类型 363
19.5.3实例10——Null类型 363
19.5.4实例11——Boolean类型 364
19.5.5实例12——Number类型 365
19.5.6实例13——String类型 366
19.6条件判断语句 367
19.6.1实例14——if语句 367
19.6.2实例15——if…else语句 368
19.6.3实例16——switch语句 369
19.7循环控制语句 371
19.7.1实例17——while语句 371
19.7.2实例18——do…while语句 372
19.7.3实例19——for循环 373
19.8在PHP中调用JavaScript代码 374
19.8.1实例20——验证表单元素的值
是否为空 374
19.8.2实例21——实现即时验证
效果 375
19.9实例22——製作树形选单 377
19.10高手甜点 381
19.11跟我练练手 382
第20章PHP与XML技术的综合
套用 383
20.1实例1——理解XML概念 384
20.2XML语法基础 385
20.2.1实例2——XML文档组成
和声明 385
20.2.2实例3——XML元素介绍 387
20.2.3处理指令实体引用 389
20.2.4实例4——XML命名空间 389
20.2.5实例5——XMLDTD 390
20.2.6实例6——使用CDATA
标籤 391
20.3实例7——将XML文档转换为HTML
加以输出 392
20.4实例8——在PHP中创建XML
文档 392
20.5使用SimpleXML扩展 393
20.5.1实例9——创建SimpleXMLElement
对象 393
20.5.2实例10——访问特定节点元素
和属性 395
20.5.3实例11——添加XML元素
和属性 396
20.6实例12——动态创建XML文档 397
20.7高手甜点 398
20.8跟我练练手 398
第21章PHP与Ajax的综合套用 399
21.1Ajax概述 400
21.1.1实例1——什幺是Ajax 400
21.1.2Ajax的关键元素 403
21.1.3实例2——CSS与Ajax 403
21.2Ajax快速入门 404
21.2.1实例3——全面剖析
XMLHttpRequest对象 404
21.2.2实例4——发出Ajax请求 406
21.2.3实例5——处理伺服器回响 408
21.3实例6——在PHP中套用Ajax技术
的套用 409
21.4高手甜点 414
21.5跟我练练手 415
第22章MVC结构与Smarty模板 417
22.1MVC概述 418
22.2什幺是模板引擎 419
22.3Smarty概述 419
22.3.1什幺是Smarty 419
22.3.2Smarty与MVC 420
22.4Smarty的安装和配置 420
22.4.1实例1——Smarty下载
和安装 420
22.4.2实例2——第一个Smarty
程式 421
22.5Smarty模板设计 422
22.5.1Smarty模板档案 422
22.5.2实例3——Smarty标识 422
22.5.3实例4——Smarty变数 424
22.5.4实例5——Smarty数组 425
22.5.5实例6——Smarty中流程控制
语句 426
22.6高手甜点 428
22.7跟我练练手 428
第23章ZendFramework框架 429
23.1什幺是ZendFramework框架 430
23.2ZendFramework的目录结构 430
23.3ZendFramework的安装与测试 431
23.3.1实例1——ZendFramework的
安装 431
23.3.2实例2——创建一个新的Zend
Framework套用 431
23.4PHP与ZendFramework的基本
操作 434
23.4.1实例3——在ZendFramework
套用中创建控制层档案 434
23.4.2实例4——在ZendFramework的
控制层档案中添加一个action 435
23.4.3实例5——在ZendFramework中
创建布局(layout) 436
23.4.4实例6——在ZendFramework中
的资料库操作 437
23.4.5实例7——在ZendFramework中
创建表单 438
23.5高手甜点 440
23.6跟我练练手 440
第5篇项目实战
第24章开发论坛 443
24.1网站的需求分析 444
24.1.1需求分析 444
24.1.2网站功能模组分析 444
24.2资料库分析 444
24.2.1分析资料库 445
24.2.2创建数据表 445
24.3论坛的代码实现 446
24.3.1资料库连线相关档案 446
24.3.2论坛主页面 452
24.3.3新用户注册页面 456
24.3.4论坛帖子的相关页面 459
24.3.5后台管理系统的相关页面 469