章初识PHP1
1.1PHP的来龙去脉1
1.1.1PHP的概念1
1.1.2PHP的发展历程2
1.1.3PHP的优势2
1.2PHP能干什么3
1.3PHP7的新特点4
1.4PHP常用开发工具6
1.4.1PHP代码开发工具6
1.4.2网页设计工具7
1.4.3文本编辑工具7
1.5高手甜点8
第2章PHP7服务器环境配置9
2.1PHP服务器概述9
2.2安装PHP7前的准备工作10
章初识PHP1
1.1PHP的来龙去脉1
1.1.1PHP的概念1
1.1.2PHP的发展历程2
1.1.3PHP的优势2
1.2PHP能干什么3
1.3PHP7的新特点4
1.4PHP常用开发工具6
1.4.1PHP代码开发工具6
1.4.2网页设计工具7
1.4.3文本编辑工具7
1.5高手甜点8
第2章PHP7服务器环境配置9
2.1PHP服务器概述9
2.2安装PHP7前的准备工作10
2.2.1软硬件环境10
2.2.2获取PHP7安装资源包10
2.3PHP7+IIS服务器安装配置12
2.3.1IIS简介及其安装12
2.3.2PHP的安装13
2.3.3虚拟目录的设置16
2.4PHP7+Apache服务器的环境搭建17
2.4.1Apache简介17
2.4.2关闭原有的网站服务器18
2.4.3安装Apache18
2.4.4将PHP与Apache建立关联19
2.5新手的福音——PHP环境的集成软件20
2.6实战演练——我的个PHP程序23
2.7高手甜点24
第3章PHP的基本语法25
3.1PHP标识符25
3.1.1短风格25
3.1.2风格26
3.1.3ASP风格26
3.2编码规范26
3.2.1什么是编码规范26
3.2.2PHP中的编码规范27
3.3常量28
3.3.1声明和使用常量29
3.3.2内置常量29
3.4变量31
3.4.1PHP中的变量声明31
3.4.2可变变量与变量的引用32
3.4.3变量作用域33
3.4.4变量的销毁36
3.5数据类型37
3.5.1什么是类型37
3.5.2整型38
3.5.3浮点型38
3.5.4布尔型38
3.5.5字符串型38
3.5.6数组型39
3.5.7对象型41
3.5.8NULL型42
3.5.9资源类型42
3.5.10数据类型之间的相互转换42
3.6标量类型的声明43
3.7运算符44
3.7.1算术运算符44
3.7.2字符串运算符45
3.7.3赋值运算符46
3.7.4比较运算符46
3.7.5逻辑运算符47
3.7.6按位运算符48
3.7.7否定控制运算符49
3.7.8错误控制运算符49
3.7.9三元运算符50
3.7.10运算符的优先级和结合规则50
3.8表达式50
3.9实战演练——创建多维数组51
3.10高手甜点51
第4章PHP的语言结构53
4.1内置函数53
4.2自定义函数54
4.2.1自定义和调用函数54
4.2.2向函数传递参数值55
4.2.3向函数传递参数引用55
4.2.4从函数中返回值56
4.2.5对函数的引用57
4.2.6对函数取消引用58
4.3包含文件58
4.3.1require和include58
4.3.2include_once和require_once59
4.4流程控制60
4.4.1条件控制结构60
4.4.2循环控制结构65
4.5实战演练1——条件分支结构综合应用72
4.6实战演练2——循环控制结构综合应用73
4.7高手甜点74
第5章字符串和正则表达式75
5.1字符串的单引号和双引号75
5.2字符串的连接符77
5.3字符串的基本操作78
5.3.1手动和自动转义字符串中的字符78
5.3.2计算字符串的长度78
5.3.3字符串单词统计79
5.3.4清理字符串中的空格80
5.3.5字符串的切分与组合80
5.3.6字符串子串的截取81
5.3.7字符串子串替换82
5.3.8字符串查找83
5.3.9大小写转换84
5.4什么是正则表达式85
5.5正则表达式语法规则85
5.6实战演练——创建酒店系统在线订房表90
5.7高手甜点93
第6章PHP数组94
6.1什么是数组94
6.2数组的类型95
6.2.1数字索引数组95
6.2.2关联索引数组96
6.3PHP常量数组97
6.4数组构造97
6.4.1一维数组97
6.4.2多维数组97
6.5遍历数组99
6.5.1遍历一维数字索引数组99
6.5.2遍历一维联合索引数组100
6.5.3遍历多维数组101
6.6数组排序102
6.6.1一维数组排序102
6.6.2多维数组排序104
6.7字符串与数组的转换105
6.8向数组中添加和删除元素106
6.8.1向数组中添加元素106
6.8.2从数组中删除元素107
6.9查询数组中指定元素109
6.10统计数组元素个数110
6.11删除数组中的重复元素112
6.12调换数组中的键值和元素值113
6.13实战演练——数组的序列化113
6.14高手甜点114
第7章时间和日期115
7.1系统时区设置115
7.1.1时区划分115
7.1.2时区设置116
7.2PHP日期和时间函数116
7.2.1关于UNIX时间戳116
7.2.2获取当前时间戳116
7.2.3获取当前日期和时间117
7.2.4使用时间戳获取日期信息118
7.2.5检验日期的有效性120
7.2.6输出格式化时间戳的日期和时间121
7.2.7显示本地化的日期和时间122
7.2.8将日期和时间解析为UNIX时间戳123
7.2.9日期和时间在PHP和MySQL数据格式之间的转换124
7.3实战演练1——比较两个时间的大小124
7.4实战演练2——实现倒计时功能125
7.5高手甜点126
第8章面向对象编程127
8.1类和对象的介绍127
8.2PHP中类的操作128
8.2.1类的声明128
8.2.2成员属性129
8.2.3成员方法129
8.2.4类的实例化130
8.2.5访问类中的成员属性和方法130
8.3构造方法和析构方法132
8.4访问方法134
8.5类的继承136
8.6不错特性137
8.6.1静态属性和方法137
8.6.2final类和方法138
8.7抽象类和接口139
8.7.1抽象类139
8.7.2接口140
8.8面向对象的多态性142
8.8.1通过继承实现多态142
8.8.2通过接口实现多态144
8.9高手甜点145
第9章错误处理和异常处理146
9.1常见的错误和异常146
9.2错误处理150
9.2.1php.ini中的错误处理机制150
9.2.2应用DIE语句调试150
9.2.3自定义错误和错误触发器151
9.2.4错误记录154
9.3异常处理155
9.3.1异常的基本处理方法155
9.3.2自定义的异常处理器157
9.3.3处理多个异常159
9.3.4设置顶层异常处理器160
9.4实战演练——处理异常或错误161
9.5高手甜点162
0章PHP与Web页面交互164
10.1使用动态内容164
10.2表单与PHP165
10.3表单设计166
10.3.1表单基本结构166
10.3.2文本框166
10.3.3选项框167
10.3.4单选按钮169
10.3.5下拉列表170
10.3.6重置按钮171
10.3.7提交按钮172
10.4传递数据的两种方法174
10.4.1用POST方式传递数据174
10.4.2用GET方式传递数据175
10.5PHP获取表单传递数据的方法176
10.6PHP对URL传递的参数进行编码176
10.7实战演练——PHP与Web表单的综合应用177
10.8高手甜点179
1章文件与目录操作181
11.1文件操作181
11.1.1文件数据的写入181
11.1.2文件数据的读取185
11.2目录操作186
11.3文件的上传191
11.4实战演练——编写文本类型的访客计算器193
11.5高手甜点194
2章图形图像处理195
12.1在PHP中加载GD库195
12.2图形图像的典型应用案例197
12.2.1创建一个简单的图像197
12.2.2使用GD2函数在照片上添加文字199
12.2.3使用TrueType字体处理中文生成图片200
12.3Jpgraph库的使用202
12.3.1Jpgraph的安装203
12.3.2Jpgraph的配置203
12.3.3制作柱形图与折线图统计图203
12.3.4制作圆形统计图205
12.4实战演练——制作3D饼形统计图207
12.5高手甜点208
3章Cookie和会话管理210
13.1Cookie基本操作210
13.1.1什么是Cookie210
13.1.2创建Cookie211
13.1.3读取Cookie211
13.1.4删除Cookie212
13.2认识Session214
13.2.1什么是Session214
13.2.2Session的基本功能214
13.2.3Cookie与Session214
13.2.4在Cookie或URL中存储SessionID215
13.3会话管理215
13.3.1创建会话215
13.3.2注册会话变量216
13.3.3使用会话变量216
13.3.4注销和销毁会话变量217
13.4实战演练——会话管理的综合应用218
13.5高手甜点219
4章MySQL数据库基础221
14.1什么是MySQL221
14.1.1客户机/服务器结构221
14.1.2MySQL版本222
14.1.3MySQL优势223
14.2启动服务并登录MySQL数据库223
14.2.1启动MySQL服务223
14.2.2登录MySQL数据库224
14.2.3配置Path变量226
14.3MySQL数据库的基本操作228
14.3.1创建数据库228
14.3.2查看数据库228
14.3.3删除数据库229
14.3.4选择数据库229
14.4MySQL数据表的基本操作230
14.4.1创建数据表230
14.4.2查看数据表231
14.4.3修改数据表233
14.4.4删除数据表234
14.5MySQL语句的操作234
14.5.1插入记录234
14.5.2查询记录235
14.5.3修改记录235
14.5.4删除记录236
14.6MySQL数据库的备份与还原236
14.6.1数据备份236
14.6.2数据还原243
14.7高手甜点245
5章PHP操作MySQL数据库247
15.1PHP访问MySQL数据库的一般步骤247
15.2连接数据库前的准备工作248
15.3访问数据库249
15.3.1使用mysqli_connect()函数连接MySQL服务器249
15.3.2使用mysqli_select_db()函数更改默认的数据库250
15.3.3使用mysqli_close()函数关闭MySQL连接251
15.3.4使用mysqli_query()函数执行SQL语句251
15.3.5获取查询结果集中的记录数252
15.3.6获取结果集中的一条记录作为枚举数组253
15.3.7获取结果集中的记录作为关联数组254
15.3.8获取结果集中的记录作为对象255
15.3.9使用mysqli_fetch_array()函数获取结果集记录255
15.3.10使用mysqli_free_result()函数释放资源256
15.4实战演练1——PHP操作数据库256
15.5实战演练2——使用insert语句动态添加用户信息258
15.6实战演练3—使用select语句查询数据信息260
15.7高手甜点262
6章PDO数据库抽象类库263
16.1PDO概述263
16.2PDO的安装264
16.3使用PDO操作MySQL264
16.3.1连接MySQL数据库的方法265
16.3.2使用PDO时的trycatch错误处理结构265
16.3.3使用PDO执行SQL的选择语句268
16.3.4使用PDO获取返回数据的类方法268
16.3.5使用PDO执行SQL的添加、修改语句271
16.3.6使用PDO执行SQL的删除语句271
16.4实战演练——PDO的prepare表述272
16.5高手甜点274
7章JavaScript编程基础275
17.1认识JavaScript275
17.1.1什么是JavaScript275
17.1.2JavaScript的特点276
17.2JavaScript在HTML中的使用277
17.2.1在HTML网页头中嵌入JavaScript代码277
17.2.2在HTML网页中嵌入JavaScript代码278
17.2.3在HTML网页的元素事件中嵌入JavaScript代码279
17.2.4在HTML中调用已经存在的JavaScript文件280
17.2.5通过JavaScript伪URL引入JavaScript脚本代码281
17.3JavaScript的基本语法282
17.3.1执行顺序282
17.3.2区分大小写283
17.3.3分号与空格283
17.3.4对代码行进行折行283
17.3.5注释283
17.4JavaScript的数据结构285
17.4.1标识符285
17.4.2关键字286
17.4.3保留字286
17.4.4常量287
17.4.5变量287
17.5代码中的数据类型289
17.5.1typeof运算符289
17.5.2Undefined类型291
17.5.3Null类型291
17.5.4Boolean类型292
17.5.5Number类型293
17.5.6String类型294
17.6条件判断语句294
17.6.1if语句294
17.6.2if…else语句296
17.6.3switch语句297
17.7循环控制语句299
17.7.1while语句299
17.7.2do…while语句300
17.7.3for循环301
17.8在PHP中调用JavaScript代码302
17.8.1验证表单元素的值是否为空302
17.8.2实现即时验证效果303
17.9实战演练——制作树形菜单306
17.10高手甜点312
8章PHP与XML技术313
18.1XML概念313
18.2XML语法基础315
18.2.1XML文档的组成和声明315
18.2.2XML元素介绍316
18.2.3实体引用319
18.2.4XML命名空间319
18.2.5XMLDTD320
18.2.6使用CDATA标记321
18.3将XML文档转换为HTML加以输出321
18.4在PHP中创建XML文档322
18.5使用SimpleXML扩展323
18.5.1创建SimpleXMLElement对象323
18.5.2访问特定节点元素和属性324
18.5.3添加XML元素和属性325
18.6实战演练——动态创建XML文档326
18.7高手甜点327
9章PHP与Ajax的综合应用328
19.1Ajax概述328
19.1.1什么是Ajax328
19.1.2Ajax的关键元素331
19.1.3CSS与Ajax332
19.2Ajax快速入门332
19.2.1全面剖析XMLHttpRequest对象333
19.2.2发出Ajax请求335
19.2.3处理服务器响应336
19.3在PHP中应用Ajax技术338
19.4高手甜点343
第20章Smarty模板344
20.1MVC概述344
20.2什么是模板引擎345
20.3Smarty概述346
20.3.1什么是Smarty346
20.3.2Smarty与MVC346
20.4Smarty的安装和配置347
20.4.1Smarty的下载和安装347
20.4.2个Smarty程序347
20.5Smarty模板设计348
20.5.1Smarty模板文件348
20.5.2Smarty标识349
20.5.3Smarty变量351
20.5.4Smarty数组352
20.6Smarty中的流程控制语句353
20.7高手甜点355
第21章ZendFramework356
21.1什么是ZendFramework356
21.2ZendFramework的目录结构357
21.3ZendFramework的安装与使用357
21.3.1ZendFramework的安装357
21.3.2创建一个新的ZendFramework应用358
21.4PHP与ZendFramework的基本操作360
21.4.1在ZendFramework应用中创建控制层文件361
21.4.2在ZendFramework的控制层文件中添加一个action361
21.4.3在ZendFramework中创建布局363
21.4.4在ZendFramework中的数据库操作363
21.4.5在ZendFramework中创建表单364
21.5高手甜点366
第22章PHP+MySQL开发论坛实战367
22.1需求分析367
22.1.1网站的需求分析367
22.1.2网站的功能模块分析368
22.2数据库分析368
22.2.1分析数据库368
22.2.2创建数据表369
22.3论坛的代码实现370
22.3.1数据库连接相关文件370
22.3.2论坛主页面375
22.3.3新用户注册页面379
22.3.4论坛帖子的相关页面382
22.3.5后台管理系统的相关页面391
第23章开发酒店管理系统网站417
23.1网站的需求分析417
23.2数据库分析418
23.3酒店管理系统的实现420
23.3.1使用Yii框架的沙箱模式建立项目420
23.3.2开始goodone项目编程422
23.3.3构建message系统426
23.3.4构建product系统433
23.3.5构建order系统435
23.3.6构建customer系统436