《PHP典型模组与项目实战大全》是2011年8月清华大学出版社出版的图书,作者是杨宇。
基本介绍
- 书名PHP典型模组与项目实战大全
- 作者杨宇
- ISBN9787302258216
- 出版社清华大学出版社
- 出版时间2011年8月
- 开本16开
- 版次1-1
编辑推荐
涉及众多热门技术,融汇6个开源项目,整合18种主流PHP解决方案
精选12个典型模组和6个PHP大型套用,实战PHP开发与建站
计画在51CTO等专业技术网站的读书频道宣传;
计画在PHPchina网站做推广;
计画在互动、噹噹、卓越等网路书店宣传;
内容简介
《php典型模组与项目实战大全》附带1张dvd,内容是作者为本书录製的全程多媒体语音教学视频及本书所涉及的原始码。该书以实战开发为原则,以php典型模组和项目开发为主线,通过12个高质量的php典型模组和6个php大型套用,向读者揭示了web开发的整体结构,并详尽地介绍php开发与建站的技术要点。
《php典型模组与项目实战大全》共22章,分为3篇。第1篇是php开发基础,涵盖的内容有web开发基础、开发环境的安装与配置、php语言参考、php简单实例;第2篇为典型模组开发与套用,涵盖的内容有留言板模组、注册及登录验证模组、上传与下载模组、内容採集器模组、日程表模组、聊天室程式、计费系统模组、充值平台模组、线上调查模组、wap资讯模组、广告管理模组、档案管理器模组;第3篇为项目开发实战,涵盖的内容有内容管理系统、娱乐联播软体、宝藏游戏、图片交易平台、线上购物平台、joomla扩展开发与快速建站。
《php典型模组与项目实战大全》内容全面、深入,既是优秀的学习教程,也可用作参考手册。书中的大量实例和深入分析均来自于作者多年的实际工作经验,对于解决开发人员在实际开发中所面临的各种问题有重要的借鉴意义。本书适合各层次的php程式设计师、爱好者和web开发人员阅读。
作译者回到顶部↑本书提供作译者介绍
杨宇 开源爱好者。曾参与并领导多个大型网际网路项目。在Web开发、MySQL资料库开发、负载均衡、分散式部署方案、大规模高并发系统设计等领域有丰富的架构设计及项目管理经验。现任某网际网路公司副总经理兼技术总监。
目录
php典型模组与项目实战大全》
第1篇 php开发必备基础
第1章 web开发基础 2
教学视频26分钟
1.1 php简介 2
1.1.1 php有什幺特点 2
1.1.2 php能做什幺 3
1.1.3 用什幺技术来搭建php环境 4
1.2 html基础 6
1.2.1 html文档基本结构 6
1.2.2 简单的html示例 6
1.2.3 创建网页上的列表 7
1.2.4 创建图像和连结 9
1.2.5 创建表单 10
1.3 javascript基础 11
1.3.1 javascript在html中的嵌入方式 11
1.3.2 控制ie的弹出页面 12
1.3.3 客户端数据存储机制cookie 15
1.3.4 客户端事件驱动 17
1.4 小结 19
.第2章 开发环境的安装与配置 21
教学视频63分钟
2.1 安装和配置linux系统 21
2.1.1 基础配置安装 21
2.1.2 磁碟分区设定 22
2.1.3 引导装载系统设定 24
2.1.4 开发包安装及修改登录配置 25
2.2 安装和配置apache伺服器 26
2.2.1 安装web伺服器apache 26
2.2.2 启动和配置web伺服器apache 27
2.2.3 测试web伺服器apache 28
2.3 安装和配置mysql资料库 28
2.3.1 安装mysql资料库 28
2.3.2 配置mysql资料库 29
2.3.3 测试mysql资料库 30
2.4 安装和配置php 31
2.4.1 下载php相关组件 31
2.4.2 安装php相关联的包 32
2.4.3 安装及编译php 34
2.4.4 修改apache配置档案 35
2.4.5 测试php 35
2.5 小结 36
第3章 php语言参考 37
教学视频29分钟
3.1 类型 37
3.1.1 类型分类 37
3.1.2 类型函式 38
3.2 变数 39
3.2.1 变数基础 39
3.2.2 php中的变数 40
3.3 运算符与表达式 42
3.3.1 算术表达式 42
3.3.2 字元串表达式 43
3.3.3 逻辑操作表达式 44
3.3.4 其他运算符表达式 44
3.4 流程控制 46
3.4.1 if…else判断 46
3.4.2 for循环 47
3.4.3 switch判断 48
3.4.4 其他的流程控制 49
3.5 函式、类与对象 50
3.5.1 php中的函式 50
3.5.2 函式与变数作用域 51
3.5.3 类与对象 52
3.6 小结 54
第4章 php简单的例子 55
教学视频24分钟
4.1 永远的hello world 55
4.1.1 hello world的由来 55
4.1.2 php脚本嵌入html文档 55
4.1.3 準备知识 56
4.1.4 hello world程式实现 57
4.2 访客计数器 58
4.2.1 访客计数器系统构架 58
4.2.2 创建计数器函式 59
4.2.3 计数器完整实现 60
4.3 组合条件查询例子 61
4.3.1 组合条件查询系统构架 61
4.3.2 资料库设计 62
4.3.3 条件查询实例的功能规划 63
4.3.4 条件搜寻页面 63
4.3.5 结果处理及展示档案 65
4.4 小结 67
第2篇 php典型模组开发与套用
第5章 留言板模组(表单+session+验证+分页) 70
教学视频33分钟
5.1 基础设计 70
5.1.1 功能描述 70
5.1.2 流程描述 71
5.2 资料库设计 72
5.2.1 访客留言信息表 73
5.2.2 管理员回复留言表 73
5.3 留言浏览 73
5.3.1 留言浏览页面设计 73
5.3.2 留言浏览程式设计 76
5.3.3 分页处理技术 77
5.4 留言提交 79
5.4.1 留言提交页面设计 79
5.4.2 留言有效性验证 81
5.4.3 留言内容处理 82
5.5 留言管理 83
5.5.1 管理员登录 83
5.5.2 留言回复 84
5.5.3 留言删除 86
5.6 小结 86
第6章 注册及登录验证模组(验证+正则表达式+sql注入) 87
教学视频32分钟
6.1 用户信息表设计 87
6.2 界面设计 88
6.2.1 用户注册界面设计 88
6.2.2 登录验证界面设计 90
6.3 客户端数据有效性验证 91
6.3.1 javascript通用过滤函式 92
6.3.2 表单数据的有效性验证 93
6.4 服务端数据有效性验证 94
6.4.1 正则表达式判断 95
6.4.2 用户名排重检测 97
6.4.3 sql注入验证 99
6.5 已注册用户登录 101
6.5.1 客户端用户登录验证 101
6.5.2 服务端用户登录状态验证 102
6.5.3 标记登录状态 104
6.6 小结 106
第7章 上传与下载模组(php防盗链+ activexobject控制项) 107
教学视频31分钟
7.1 上传与下载的实现原理 107
7.1.1 php档案上传的原理及实现 107
7.1.2 php档案下载的原理及实现 109
7.2 档案尺寸限制及异常处理 111
7.2.1 javascript档案尺寸验证 111
7.2.2 php上传档案涉及的参数 113
7.3 资料库设计 114
7.4 档案上传程式 114
7.4.1 上传档案的客户端类型检测 115
7.4.2 上传档案的伺服器端处理 115
7.4.3 将上传档案信息归档到资料库 117
7.5 档案下载程式 118
7.5.1 档案下载列表 119
7.5.2 档案下载程式实现 122
7.6 小结 123
第8章 内容自动採集器模组(爬虫+fckeditor编辑器+任务接力) 124
教学视频30分钟
8.1 内容自动採集器功能及採集原理 124
8.1.1 url地址列表分析 125
8.1.2 获得内容页面信息 125
8.1.3 延时函式 126
8.1.4 获取全部列出形式 126
8.1.5 分页分析 127
8.2 资料库设计 127
8.2.1 规则存储表设计 128
8.2.2 採集内容表设计 128
8.3 採集器模组界面设计 129
8.3.1 採集器管理界面 129
8.3.2 採集内容列表界面 131
8.4 内容自动採集器程式实现 131
8.4.1 採集规则管理程式 132
8.4.2 爬虫程式 135
8.4.3 获得需採集内容列表 137
8.4.4 内容编辑器 139
8.5 採集异常及处理 141
8.5.1 抓取逾时解决方法 141
8.5.2 任务接力模式 142
8.6 小结 143
第9章 日程表模组(php+ajax+xml) 144
教学视频30分钟
9.1 ajax基础 144
9.1.1 http请求和回响基础 144
9.1.2 xmlhttprequest对象 146
9.1.3 向伺服器传送请求 147
9.2 ajax中的服务端脚本 148
9.2.1 ajax与xml档案进行互动式通信 148
9.2.2 php生成xml 151
9.2.3 资料库驱动的ajax 152
9.3 日程表资料库设计 154
9.4 日曆程式设计 155
9.4.1 php生成的日曆 155
9.4.2 日程表xml文档 158
9.4.3 日曆的完美实现 159
9.5 日程表管理程式 163
9.5.1 添加事件界面 163
9.5.2 添加事件程式 165
9.5.3 管理事件界面 166
9.5.4 管理事件程式 166
9.6 小结 169
第10章 聊天室模组(frameset页面框架+session) 170
教学视频21分钟
10.1 聊天室基础设计 170
10.1.1 主要实现功能描述 170
10.1.2 业务流程描述 171
10.1.3 逻辑结构设计 171
10.2 聊天室资料库设计 172
10.3 访问者引导 173
10.3.1 引导页面设计 173
10.3.2 引导页面程式 174
10.4 聊天室程式 175
10.4.1 编辑传送信息 175
10.4.2 显示全部信息 178
10.4.3 聊天主题列表 181
10.4.4 聊天室结构框架 181
10.5 聊天室的最佳化和完善 183
10.6 小结 183
第11章 计费系统模组(原子操作+数据回滚rollback) 184
教学视频33分钟
11.1 计费系统概述 184
11.2 资料库设计规划 185
11.2.1 用户虚拟货币存储表设计 185
11.2.2 用户交易明细表 186
11.2.3 支付平台订单表 187
11.3 核心功能函式 188
11.3.1 使用charge_num()函式给指定用户充值 188
11.3.2 使用decrease_num()函式实现消费金额扣减 188
11.3.3 使用transaction_record()函式记录用户的交易 189
11.3.4 使用update_status_record()函式确认用户付费操作 189
11.3.5 使用count_user_num()函式更新充值次数 190
11.4 应用程式接口 190
11.4.1 充值接口程式 191
11.4.2 扣费接口程式 192
11.4.3 用户余额查询程式 194
11.5 smarty模板引擎 195
11.6 查询充值记录 197
11.6.1 查询充值记录界面 197
11.6.2 查询充值记录程式 199
11.7 小结 202
第12章 充值平台模组(md5加密+https协定) 203
教学视频27分钟
12.1 充值平台概述 203
12.1.1 充值平台实现目的 203
12.1.2 开发调试流程概述 203
12.2 测试接口说明 204
12.2.1 签名测试模组 204
12.2.2 下订单测试模组 205
12.2.3 支付成功提货测试模组 205
12.2.4 支付网关整体测试流程模组 205
12.3 通知支付结果方式的实现 206
12.3.1 向支付网关提交支付请求信息 206
12.3.2 支付网关将支付结果信息传给程式的接口 208
12.3.3 伺服器间通知方式 209
12.4 充值引导 209
12.4.1 充值引导页面设计 209
12.4.2 充值引导程式 213
12.5 服务端充值接口 214
12.5.1 订单确认 214
12.5.2 接收网关支付通知 217
12.5.3 支付结果显示 219
12.6 小结 222
第13章 线上调查模组(php+mysql+xml) 223
教学视频24分钟
13.1 线上调查系统需求分析 223
13.2 资料库设计 224
13.3 调查管理后台 225
13.3.1 调查管理后台界面 226
13.3.2 调查管理程式 228
13.3.3 保存调查数据 230
13.4 线上调查 231
13.4.1 线上调查界面 231
13.4.2 线上调查程式 233
13.5 调查结果查看 237
13.5.1 调查结果查看界面 237
13.5.2 调查结果查看程式 238
13.6 小结 241
第14章 wap资讯模组(php+wml+wap) 242
教学视频29分钟
14.1 wap套用基础 242
14.1.1 wap系统概述 242
14.1.2 wml基础 243
14.1.3 wap浏览器安装与调试 246
14.2 资料库设计 247
14.2.1 用户资料表 247
14.2.2 专辑资料表 248
14.2.3 图片资料库表 249
14.3 核心函式说明 250
14.3.1 init_sid()函式 250
14.3.2 编码转换函式 251
14.3.3 wml格式输出函式 251
14.4 wap认证程式 252
14.4.1 登录认证程式 252
14.4.2 手机号码效验程式 253
14.4.3 付费内容认证程式 254
14.5 wap资讯程式 258
14.5.1 wap资讯首页程式 258
14.5.2 专辑图片 262
14.5.3 专辑列表 264
14.5.4 图片显示程式 265
14.5.5 图片下载程式 267
14.6 小结 268
第15章 广告管理模组(javascript+iframe+smarty) 269
教学视频30分钟
15.1 广告管理概述 269
15.1.1 广告管理基本特徵 269
15.1.2 工作流程描述 270
15.2 档案目录结构设计及说明 271
15.2.1 系统根目录说明 271
15.2.2 配置档案目录说明 272
15.2.3 函式馆档案目录 272
15.2.4 模板引擎目录 273
15.2.5 广告管理模板目录 273
15.3 核心函式说明 274
15.3.1 使用allen_thu()函式实现搜寻和替换 274
15.3.2 使用allen_file()函式生成档案函式 274
15.3.3 使用isok()函式实现页面跳转 275
15.3.4 使用error()函式报错 275
15.4 广告管理界面程式 276
15.4.1 显示广告列表 276
15.4.2 内容搜寻的实现 281
15.5 广告管理操作程式 283
15.5.1 新增广告操作 283
15.5.2 广告生成与编辑操作 286
15.5.3 广告删除操作 291
15.6 小结 293
第16章 档案管理器(档案处理+smarty) 294
教学视频28分钟
16.1 档案管理器概述 294
16.1.1 档案管理器的基本特徵 294
16.1.2 工作流程描述 294
16.2 档案处理函式说明 295
16.2.1 目录类函式 295
16.2.2 档案操作函式 297
16.2.3 字元串处理函式 300
16.3 档案管理器 303
16.3.1 档案和目录浏览 303
16.3.2 档案查看程式 310
16.4 档案管理功能 311
16.4.1 档案编辑 311
16.4.2 档案更名 315
16.5 小结 318
第3篇 php项目开发实战
第17章 内容管理系统(oop+url rewrite+html编辑器) 320
教学视频44分钟
17.1 cms设计基础 320
17.1.1 cms基本概念 320
17.1.2 cms主要实现功能 321
17.2 资料库设计 322
17.2.1 文章内容表 322
17.2.2 注册会员表 323
17.2.3 管理员账户表 325
17.2.4 网站相关信息表 325
17.3 管理框架搭建 326
17.3.1 创建管理框架 326
17.3.2 登录验证程式 327
17.3.3 导航栏部分 330
17.3.4 侧边栏部分 332
17.3.5 主体部分 333
17.4 基础类库介绍 335
17.4.1 公共类 336
17.4.2 文章操作类 336
17.4.3 管理员账户操作类 338
17.4.4 注册会员操作类 339
17.5 后台管理功能 341
17.5.1 会员管理 341
17.5.2 文章管理 343
17.5.3 网站相关栏目 350
17.6 小结 359
第18章 娱乐联播(rss内容聚合+ magpie抓取) 360
教学视频56分钟
18.1 娱乐联播基础设计 360
18.1.1 rss基本概念 360
18.1.2 娱乐联播流程 361
18.2 资料库设计 362
18.2.1 栏目分类表 363
18.2.2 rss数据源表 363
18.2.3 採集新闻内容表 364
18.3 核心函式说明 364
18.3.1 使用get_ids()函式获得指定分类下的所有子分类id 365
18.3.2 使用index_list()函式获取指定分类下的rss抓取内容 365
18.3.3 使用content_info()函式获取指定id下的信息 366
18.4 娱乐联播后台管理 366
18.4.1 rss栏目管理 366
18.4.2 添加rss源 379
18.4.3 已有rss源管理 383
18.4.4 rss头条管理 388
18.4.5 rss信息源抓取 391
18.5 娱乐联播频道 395
18.5.1 娱乐联播主首页 395
18.5.2 娱乐联播栏目 400
18.6 小结 404
第19章 藏宝游戏(php+flash+api) 405
教学视频53分钟
19.1 藏宝游戏概述 405
19.1.1 藏宝游戏说明 405
19.1.2 游戏道具描述 406
19.2 资料库设计 407
19.2.1 用户领奖信息表 407
19.2.2 道具及奖品信息表 408
19.2.3 物品详细信息表 409
19.2.4 用户资料信息表 410
19.2.5 游戏用户的信息表 411
19.3 基础设计及说明 412
19.3.1 程式分类描述 412
19.3.2 档案及目录功能描述 413
19.3.3 api封装包说明 414
19.3.4 程式返回信息代码说明 419
19.4 后台管理程式 420
19.4.1 管理显示程式 420
19.4.2 管理操作程式 424
19.5 藏宝游戏程式 432
19.5.1 挖宝游戏程式 432
19.5.2 游戏用户信息程式 439
19.6 小结 441
第20章 图片交易平台(mvc设计模式) 442
教学视频49分钟
20.1 系统概述 442
20.1.1 基础架构设计 442
20.1.2 核心功能描述 444
20.2 mvc实现原理 445
20.2.1 mvc基础 445
20.2.2 model(模型) 446
20.2.3 view(视图) 447
20.2.4 controller(控制器) 448
20.3 资料库设计 449
20.3.1 需求分析 449
20.3.2 资料库e-r关係图 449
20.3.3 数据表设计 451
20.4 图片搜寻及展示 454
20.4.1 图片列表 454
20.4.2 图片搜寻 460
20.4.3 图片详情 466
20.5 图片收藏及订购 470
20.5.1 图片收藏 470
20.5.2 图片购物车 473
20.5.3 订单处理流程 479
20.6 用户管理中心 486
20.6.1 用户登录验证 487
20.6.2 订单管理 490
20.6.3 收藏夹管理 505
20.6.4 出版社信息管理 512
20.7 小结 517
第21章 线上购物平台(php+jquery+b2c) 518
教学视频55分钟
21.1 系统概述 518
21.1.1 流程概述 519
21.1.2 功能说明 520
21.1.3 档案目录结构设计及说明 521
21.2 资料库设计 523
21.2.1 数据设计概述 523
21.2.2 产品数据表 524
21.2.3 产品附属档案数据表 525
21.2.4 会员数据表 526
21.2.5 订单数据表 527
21.3 核心程式说明 528
21.3.1 通用表格类 528
21.3.2 购物车类 532
21.3.3 档案上传类 533
21.3.4 图片显示相关类 539
21.3.5 公用和配置档案 541
21.4 会员管理 544
21.4.1 会员注册 545
21.4.2 会员登录 547
21.4.3 会员资料管理界面 547
21.5 产品管理 550
21.5.1 产品信息管理 550
21.5.2 产品图片管理 554
21.6 产品展示与购物车 556
21.6.1 购物车 556
21.6.2 产品详细页实现 558
21.6.3 产品列表 560
21.7 订单管理 564
21.8 产品搜寻 567
21.9 小结 569
第22章 joomla快速建站模组(php+joomla+xml) 570
教学视频47分钟
22.1 joomla基础 570
22.1.1 joomla介绍 570
22.1.2 joomla整体架构 571
22.2 joomla目录及档案说明 573
22.2.1 根目录说明 573
22.2.2 模板目录说明 573
22.2.3 组件目录说明 575
22.2.4 模组目录说明 576
22.2.5 外挂程式目录说明 577
22.3 joomla资料库 578
22.3.1 joomla资料库基础 578
22.3.2 joomla资料库逻辑关係 581
22.3.3 joomla资料库表说明 581
22.4 下载与安装 588
22.4.1 下载及安装环境需求 589
22.4.2 档案包解压及配置设定 589
22.4.3 joomla的安装精灵 590
22.5 后台基础管理 594
22.5.1 许可权角色划分 594
22.5.2 后台概述 595
22.5.3 语言管理 596
22.5.4 媒体档案管理 601
22.5.5 全局设定 603
22.6 后台内容管理 604
22.6.1 选单管理 605
22.6.2 类别管理 607
22.6.3 文章管理 610
22.7 外挂程式、组件和模组开发 613
22.7.1 外挂程式详解 614
22.7.2 组件开发 619
22.7.3 模组开发 625
22.8 快速建站实例 629
22.8.1 系统介绍 630
22.8.2 添加网站内容 630
22.8.3 安装图片展示外挂程式 632
22.8.4 安装留言板组件 633
22.8.5 模板基础及规划 635
22.8.6 创建导航栏及关联选单 640
22.9 小结 641
前言
为什幺要写这本书
PHP语言已经流行多年,并深入到Web开发的各个领域。它能套用于Windows、Linux和Mac OS等平台上。基于PHP的开发已经广泛地被网际网路公司採用,它已经变得越来越重要。Web开发往往需要结合多种技术进行,具有较高的“门槛”,这使很多Web开发爱好者受知识结构的限制,技术上难以提高。
本书结合PHP开发中的各种流行技术和典型套用,介绍PHP实际开发中涉及的最常用、最典型的一些开发模组和项目开发案例。帮助读者理解Web开发的特点和PHP开发涉及的各种热门技术与主流框架,并熟悉各种套用的解决方案,使读者在技术上有质的突破,从而提高实际开发水平和项目实战能力。本书中的大量实例和深入的分析均来自于作者多年的工作经验,对于解决开发者所面临的各种问题有重要的借鉴意义。
本书有何特色
1.循序渐进,由浅入深
本书从Web开发的基本概念讲起,并结合开发环境的搭建和PHP语言基础,为各阶段的读者顺利进入Web开发领域奠定了基础。然后从易到难安排了12个典型套用模组和6个项目案例开发,以提高读者的实战能力。
2.注重原理,结合实际分析
本书注重原理讲解,每个模组都从基础设计和系统需求讲起,针对每个模组的核心技术原理,作者都给出了原理图帮助读者理解,并在后续的实际开发中将该原理套用到实际项目中。
3.构架剖析,原始码精解
随着OOP开发模式在编程方面的广泛套用,基于各种架构的开发已经成为当前程式开发的主流。本书也顺应这种趋势,在模组实现的过程中套用了多种当前流行的架构,并对每个涉及的架构都做了深入的剖析并从原理上进行了阐释。通过对原始码的详细讲解,使读者可以清楚、直观地掌握该架构。
4.模组设计,独立套用,便于扩展
本书给出了PHP开发的12个典型套用模组,这些模组涵盖PHP开发的热门技术和主流套用。这些模组独立成章,每章内容都明确地阐释某个主题或某类典型套用。作者在具体内容的组织上,注意为读者预留扩展的接口并做了详细的说明,便于读者扩展该模组。
5.经典模组结合主流套用,适合各个层次的读者
本书讲解模组开发和项目开发时,採用了经典套用实例和当前主流技术相结合的方式,使得内容新颖,又能很好地描述技术问题,也使得各个层次的读者在阅读本书后均有所获益。
6.项目案例典型,实战性强,有较高的套用价值
本书提供了6个项目实战案例,这些案例分别使用不同的技术组合实现,便于读者融会贯通地理解本书中所介绍的技术。这些案例稍加修改,便可用于实际的项目开发中。
7.附带多媒体语音教学视频,提高学习效率
为了便于读者理解本书内容,提高学习效率,作者专门为本书内容录製了大量的多媒体语音教学视频。这些视频和本书涉及的原始码一起收录于配书光碟中。
8.提供完善的技术支持和售后服务