第1章 LAMP网站构建 1
1.1 介绍网站给你认识 1
1.1.1 Web应用的优势 2
1.1.2 Web 2.0时代的互联网 3
1.1.3 Web开发标准 4
1.1.4 认识脚本语言 5
1.1.5 了解HTTP协议 5
1.2 动态网站开发所需的Web构件 10
1.2.1 客户端浏览器 10
1.2.2 超文本标记语言HTML 12
1.2.3 层叠样式表CSS 13
1.2.4 客户端脚本编程语言JavaScript 13
1.2.5 Web服务器 14
1.2.6 服务器端编程语言 16
1.2.7 数据库管理系统 16
1.3 几种主流的Web应用程序平台 17
1.3.1 Web应用程序开发平台对比分析 18
1.3.2 动态网站开发平台技术比较 19
1.4 Web的工作原理 19
1.4.1 情景1:服务器不带应用程序服务器和数据库 19
1.4.2 情景2:带应用程序服务器的Web服务器 21
1.4.3 情景3:浏览器访问服务器端的数据库 21
1.5 LAMP网站开发组合概述 22
1.5.1 Linux操作系统 22
1.5.2 Web服务器Apache 23
1.5.3 MySQL数据库管理系统 24
1.5.4 PHP后台脚本编程语言 24
1.5.5 LAMP发展趋势 25
第2章 从搭建你的PHP开发环境开始 27
2.1 几种常见的PHP环境安装方式 27
2.1.1 Linux系统下源代码包方式安装环境 27
2.1.2 在Windows系统上安装Web工作环境 28
2.1.3 搭建学习型的PHP工作环境 28
2.2 环境安装对操作系统的选择 29
2.2.1 选择网站运营的操作系统 29
2.2.2 选择网站开发的操作系统 29
2.3 安装集成PHP开发环境 30
2.3.1 安装前准备 30
2.3.2 安装步骤 30
2.3.3 环境测试 33
第3章 PHP的基本语法 36
3.1 PHP在Web开发中的应用 36
3.1.1 就从认识PHP开始吧 36
3.1.2 PHP都能做什么 37
3.2 第一个PHP脚本程序 39
3.3 PHP语言标记 42
3.3.1 将PHP代码嵌入HTML中的位置 43
3.3.2 解读开始和结束标记 44
3.4 指令分隔符“分号” 45
3.5 程序注释 45
3.6 在程序中使用空白的处理 47
3.7 变量 48
3.7.1 变量的声明 48
3.7.2 变量的命名 49
3.7.3 可变变量 51
3.7.4 变量的引用赋值 51
3.8 变量的类型 52
3.8.1 类型介绍 52
3.8.2 布尔型(boolean) 53
3.8.3 整型(integer) 54
3.8.4 浮点型(float或double) 55
3.8.5 字符串(string) 55
3.8.6 数组(array) 57
3.8.7 对象(object) 58
3.8.8 资源类型(resource) 58
3.8.9 NULL类型 59
3.8.10 伪类型介绍 59
3.9 数据类型之间相互转换 60
3.9.1 自动类型转换 60
3.9.2 强制类型转换 61
3.9.3 类型转换细节 62
3.10 常量 62
3.10.1 常量的定义和使用 62
3.10.2 常量和变量 63
3.11 PHP中的运算符 63
3.11.1 算术运算符 64
3.11.2 字符串运算符 66
3.11.3 赋值运算符 67
3.11.4 比较运算符 68
3.11.5 逻辑运算符 69
3.11.6 位运算符 70
3.11.7 其他运算符 73
3.11.8 运算符的优先级 74
3.12 表达式 75
第4章 PHP的流程控制结构 76
4.1 分支结构 76
4.1.1 单一条件分支结构(if) 77
4.1.2 双向条件分支结构(else从句) 78
4.1.3 多向条件分支结构(elseif子句) 79
4.1.4 多向条件分支结构(switch语句) 80
4.1.5 巢状条件分支结构 82
4.2 循环结构 83
4.2.1 while语句 84
4.2.2 do…while循环 86
4.2.3 for语句 87
4.3 特殊的流程控制语句 90
4.3.1 break语句 90
4.3.2 continue语句 91
4.3.3 exit语句 91
第5章 PHP的函数应用 93
5.1 函数的定义 93
5.2 自定义函数 94
5.2.1 函数的声明 94
5.2.2 函数的调用 96
5.2.3 函数的参数 97
5.2.4 函数的返回值 98
5.3 PHP变量的范围 100
5.3.1 局部变量 100
5.3.2 全局变量 101
5.4 声明及应用各种形式的PHP函数 103
5.4.1 常规参数的函数 104
5.4.2 伪类型参数的函数 104
5.4.3 引用参数的函数 105
5.4.4 默认参数的函数 106
5.4.5 可变个数参数的函数 108
5.4.6 回调函数 108
5.5 使用自定义函数库 111
第6章 PHP中的数组与数据结构 112
6.1 数组的分类 112
6.2 数组的定义 114
6.2.1 直接赋值的方式声明数组 114
6.2.2 使用array()语言结构新建数组 116
6.2.3 多维数组的声明 117
6.3 数组的遍历 119
6.3.1 使用for语句循环遍历数组 120
6.3.2 使用foreach语句遍历数组 122
6.4 预定义数组 125
6.4.1 服务器变量:$_SERVER 126
6.4.2 环境变量:$_ENV 126
6.4.3 URL GET变量:$_GET 126
6.4.4 HTTP POST变量:$_POST 127
6.4.5 request变量:$_REQUEST 128
6.4.6 HTTP文件上传变量:$_FILES 128
6.4.7 HTTP Cookies:$_COOKIE 129
6.4.8 Session变量:$_SESSION 129
6.4.9 Global变量:$GLOBALS 129
第7章 PHP面向对象的程序设计 130
7.1 面向对象的介绍 130
7.1.1 类和对象之间的关系 131
7.1.2 面向对象的程序设计 132
7.2 如何抽象一个类 132
7.2.1 类的声明 133
7.2.2 成员属性 133
7.2.3 成员方法 134
7.3 通过类实例化对象 136
7.3.1 实例化对象 136
7.3.2 对象中成员的访问 137
7.3.3 特殊的对象引用“$this” 139
7.3.4 构造方法与析构方法 141
7.4 封装性 144
7.4.1 设置私有成员 144
7.4.2 私有成员的访问 145
7.4.3 __set()和__get()方法 147
7.5 继承性 151
7.5.1 类继承的应用 152
7.5.2 访问类型控制 153
7.5.3 子类中重载父类的方法 155
7.6 常见的关键字和魔术方法 158
7.6.1 final关键字的应用 158
7.6.2 static关键字的使用 159
7.6.3 const关键字 160
7.6.4 克隆对象 161
7.6.5 类中通用的方法__toString() 162
7.6.6 __call()方法的应用 163
7.6.7 自动加载类 164
第8章 字符串处理 165
8.1 字符串的处理介绍 165
8.1.1 字符串的处理方式 165
8.1.2 字符串类型的特点 166
8.1.3 双引号中变量解析总结 167
8.2 常用的字符串输出函数 167
8.3 常用的字符串格式化函数 170
8.3.1 去除空格和字符串填补函数 171
8.3.2 字符串大小写的转换 172
8.3.3 和HTML标签相关的字符串格式化 172
第9章 正则表达式 177
9.1 正则表达式简介 177
9.1.1 选择PHP正则表达式的处理函数库 177
9.2 正则表达式的语法规则 178
9.2.1 定界符 179
9.2.2 原子 179
9.2.3 元字符 181
9.2.4 模式修正符 184
9.3 与Perl兼容的正则表达式函数 185
9.3.1 字符串的匹配与查找 185
9.3.2 字符串的替换 189
9.3.3 字符串的分割和连接 194
第10章 文件系统处理 197
10.1 文件系统概述 197
10.1.1 文件类型 197
10.1.2 文件的属性 198
10.2 目录的基本操作 201
10.2.1 解析目录路径 201
10.2.2 遍历目录 203
10.2.3 统计目录大小 204
10.2.4 建立和删除目录 205
10.2.5 复制目录 206
10.3 文件的基本操作 207
10.3.1 文件的打开与关闭 207
10.3.2 写入文件 209
10.3.3 读取文件内容 210
10.3.4 访问远程文件 212
10.3.5 移动文件指针 213
10.3.6 文件的锁定机制 214
10.3.7 文件的一些基本操作函数 217
10.4 文件的上传与下载 218
10.4.1 文件上传 218
10.4.2 处理多个文件上传 222
10.4.3 文件下载 223
第11章 PHP动态图像处理 225
11.1 PHP中GD库的使用 225
11.1.1 画布管理 226
11.1.2 设置颜色 226
11.1.3 生成图像 227
11.1.4 绘制图像 228
11.1.5 在图像中绘制文字 230
11.2 PHP图片处理 232
11.2.1 图片背景管理 233
11.2.2 图片缩放 234
11.2.3 图片裁剪 236
11.2.4 添加图片水印 237
11.2.5 图片旋转和翻转 238
第12章 MySQL数据库概述 241
12.1 数据库的应用 241
12.1.1 数据库在Web开发中的重要地位 242
12.1.2 为什么PHP会选择MySQL作为自己的黄金搭档 242
12.1.3 PHP和MySQL的合作方式 242
12.1.4 结构化查询语言SQL 243
12.2 MySQL数据库的常见操作 244
12.2.1 MySQL数据库的连接与关闭 244
12.2.2 创建新用户并授权 245
12.2.3 创建数据库 245
12.2.4 创建数据表 246
12.2.5 数据表内容的简单管理 247
第13章 MySQL数据表的设计 249
13.1 数据表(Table) 249
13.2 数据值和列类型 250
13.2.1 数值类的数据列类型 250
13.2.2 字符串类数据列类型 251
13.2.3 日期和时间型数据列类型 252
13.2.4 NULL值 253
13.2.5 类型转换 253
13.3 数据字段属性 253
13.4 数据表对象管理 254
13.4.1 创建表(CREATE TABLE) 254
13.4.2 修改表(ALTER TABLE) 256
13.4.3 删除表(DROP TABLE) 257
13.5 数据表的类型及存储位置 257
13.5.1 MyISAM数据表 257
13.5.2 InnoDB数据表 258
13.5.3 如何选择InnoDB还是MyISAM表类型 258
13.6 数据表的默认字符集 259
13.6.1 字符集支持原理 259
13.6.2 创建数据对象时修改字符集 259
13.7 创建索引 260
13.7.1 主键索引(PRIMARY KEY) 260
13.7.2 唯一索引(UNIQUE) 261
13.7.3 常规索引(INDEX) 261
第14章 SQL语句设计 263
14.1 操作数据表中的数据记录(DML) 263
14.1.1 使用INSERT语句向数据表中添加数据 263
14.1.2 使用UPDATE语句更新数据表中已存在的数据 264
14.1.3 使用DELETE语句删除数据表中不需要的数据记录 265
14.2 通过DQL命令查询数据表中的数据 266
14.2.1 选择特定的字段 266
14.2.2 使用AS子句为字段取别名 267
14.2.3 DISTINCT关键字的使用 267
14.2.4 在SELECT语句中使用表达式的列 268
14.2.5 使用WHERE子句按条件检索 269
14.2.6 根据空值(NULL)确定检索条件 270
14.2.7 使用BETWEEN AND进行范围比较查询 270
14.2.8 使用IN进行范围比对查询 271
14.2.9 使用LIKE进行模糊查询 271
14.2.10 多表查询(连接查询) 272
14.2.11 嵌套查询(子查询) 274
14.2.12 使用ORDER BY对查询结果排序 275
14.2.13 使用LIMIT限定结果行数 275
14.2.14 使用统计函数 276
14.2.15 使用GROUP BY对查询结果分组 277
第15章 PHP访问MySQL的扩展函数 279
15.1 PHP访问MySQL数据库服务器的流程 279
15.2 在PHP脚本中连接MySQL服务器 281
15.2.1 在PHP程序中选择已创建的数据库 282
15.2.2 执行SQL命令 283
15.2.3 在PHP脚本中处理SELECT查询结果集 284
第16章 数据库抽象层PDO 287
16.1 PDO所支持的数据库 287
16.2 PDO的安装 289
16.3 创建PDO对象 290
16.3.1 以多种方式调用构造方法 290
16.3.2 PDO对象中的成员方法 293
16.4 使用PDO对象 293
16.4.1 调整PDO的行为属性 293
16.4.2 PDO处理PHP程序和数据库之间的数据类型转换 294
16.4.3 PDO的错误处理模式 295
16.4.4 使用PDO执行SQL语句 295
16.5 PDO对预处理语句的支持 297
16.5.1 了解PDOStatement对象 298
16.5.2 准备语句 299
16.5.3 绑定参数 300
16.5.4 执行准备好的查询 301
16.5.5 获取数据 302
第17章 会话控制 306
17.1 为什么要使用会话控制 306
17.2 会话跟踪的方式 307
17.3 Cookie的应用 308
17.3.1 Cookie概述 308
17.3.2 向客户端计算机中设置Cookie 309
17.3.3 在PHP脚本中读取Cookie的资料内容 310
17.3.4 数组形态的Cookie应用 311
17.3.5 删除Cookie 311
17.3.6 基于Cookie的用户登录模块 312
17.4 Session的应用 314
17.4.1 Session概述 314
17.4.2 配置Session 315
17.4.3 Session的声明与使用 316
17.4.4 注册一个会话变量和读取Session 316
17.4.5 注销变量与销毁Session 317
17.5 一个简单的邮件系统实例 318
17.5.1 为邮件系统准备数据 319
17.5.2 编码实现邮件系统 320
17.5.3 邮件系统执行说明 322
第18章 PHP的模板引擎Smarty 324
18.1 什么是模板引擎 324
18.2 选择Smarty模板引擎 326
18.3 安装Smarty及初始化配置 327
18.3.1 安装Smarty 327
18.3.2 初始化Smarty类库的默认设置 328
18.3.3 第一个Smarty的简单示例 331
18.4 Smarty的基本应用 333
18.4.1 PHP程序员常用和Smarty相关的操作 334
18.4.2 模板设计时美工的常用操作 335
18.5 Smarty模板设计的基本语法 336
18.5.1 模板中的注释 336
18.5.2 模板中的变量应用 336
18.5.3 模板中的函数应用 339
18.5.4 忽略Smarty解析 341
18.6 在Smarty模板中的变量应用 341
18.7 在Smarty模板中的变量调解器 344
18.7.1 变量调解器函数的使用方式 344
18.7.2 Smarty默认提供的变量调解器 345
18.7.3 自定义变量调解器插件 347
18.8 Smarty模板中自定义函数 349
18.8.1 为Smarty模板扩充函数插件 349
18.8.2 为Smarty模板扩充块函数插件 351
18.9 Smarty模板中的内置函数 352
18.9.1 变量声明 352
18.9.2 流程控制 353
18.9.3 声明和调用模板函数 355
18.9.4 数组遍历 356
18.9.5 Smarty提供的其他内置函数 361
18.10 Smarty的模板继承特性 362
18.10.1 使用{extends}函数实现模板继承 362
18.10.2 在子模板中覆盖父模板中的部分内容区域 363
18.10.3 合并子模板和父模板的{block}标签内容 364
第19章 MVC模式与PHP框架 366
19.1 MVC模式在Web中的应用 366
19.1.1 MVC模式的工作原理 366
19.1.2 MVC模式的优缺点 368
19.2 PHP开发框架 369
19.2.1 什么是框架 369
19.2.2 为什么要用框架 370
19.2.3 框架和MVC设计模式的关系 370
19.2.4 比较流行的PHP框架 371
19.3 划分模块和操作 372
19.3.1 为项目划分模块 373
19.3.2 为模块设置操作 373
以下内容详见本书配书光盘:
第20章 超轻量级PHP框架
BroPHP 374
第21章 B/S结构软件开发流程 425
第22章 需求分析说明书 434
第23章 数据库设计说明书 445
第24章 程序设计说明书 461
· · · · · · (
收起)