理论篇 3
第1章 PHP初步认识与环境搭建 3
1.1 概述 4
1.2 PHP新特性 4
1.3 PHP的应用领域 6
1.4 PHP扩展库 7
1.5 创建PHP程序 9
本章小结 9
本章练习 10
第2章 HTTP和Web服务器 11
2.1 资源 12
2.1.1 URL语法 12
2.1.2 相对URL和自动扩展URL 13
2.1.3 对资源的映射及访问 16
2.2 事务 16
2.3 报文 17
2.3.1 方法 18
2.3.2 状态码 19
2.3.3 首部 21
2.4 连接 24
2.5 Web服务器 25
2.5.1 Apache架构 25
2.5.2 服务器种类 26
2.5.3 处理流程 27
本章小结 27
本章练习 28
第3章 PHP基本语法 29
3.1 PHP语言标记 30
3.1.1 开始和结束标记 31
3.1.2 指令分隔符 31
3.2 变量 32
3.2.1 变量的声明 32
3.2.2 变量的命名 33
3.2.3 变量的类型 34
3.2.4 可变变量 39
3.2.5 变量的引用赋值 39
3.3 常量 40
3.3.1 设置PHP常量 40
3.3.2 预定义常量 41
3.3.3 魔术常量 41
3.4 类型转换 42
3.4.1 自动类型转换 43
3.4.2 强制类型转换 43
3.4.3 变量类型的测试函数 44
3.5 运算符 45
3.5.1 算术运算符 45
3.5.2 字符串运算符 46
3.5.3 逻辑运算符 46
3.5.4 比较运算符 47
3.5.5 赋值运算符 49
3.5.6 引用赋值 49
3.5.7 三元运算符 50
3.5.8 错误运算符 51
3.6 流程控制结构 51
3.6.1 分支结构 51
3.6.2 循环结构 55
本章小结 56
本章练习 56
第4章 字符串和数组 57
4.1 字符串 58
4.1.1 定义方式 58
4.1.2 字符串实现原理 59
4.1.3 解析字符串 60
4.2 字符串处理函数 61
4.2.1 字符实体转换函数 61
4.2.2 字符串查找函数 64
4.2.3 字符串的子字符串操作函数 66
4.2.4 字符串比较函数 69
4.2.5 字符串通用处理函数 70
4.2.6 加密解密函数 72
4.3 数组 74
4.3.1 数组的类型 74
4.3.2 数组声明 74
4.3.3 设置错误报告级别 76
4.3.4 输出数组变量 78
4.3.5 数组追加及属性个数 78
4.3.6 数组遍历 79
4.3.7 二维数组 81
4.4 数组处理函数 82
4.4.1 数组创建函数 82
4.4.2 数组统计函数 83
4.4.3 数组指针函数 83
4.4.4 数组、变量间的转换函数 83
4.4.5 数组遍历语言结构 84
4.4.6 数组检索函数 84
4.4.7 其他函数 85
本章小结 85
本章练习 86
第5章 函数 87
5.1 函数的定义 88
5.2 函数的分类 88
5.3 函数参数传递 89
5.3.1 值传递 89
5.3.2 引用传递 90
5.4 变量函数 90
5.5 函数的作用域和生存周期 91
5.5.1 全局变量和局部变量 91
5.5.2 生存周期 92
5.6 文件包含 93
本章小结 93
本章练习 94
第6章 文件和目录 95
6.1 文件系统概述 96
6.2 文件的基本操作 96
6.2.1 打开和关闭文件 96
6.2.2 读取文件内容 97
6.2.3 写入文件 99
6.2.4 复制和移动文件 99
6.3 目录操作函数 101
6.3.1 打开/关闭目录 101
6.3.2 目录处理 102
6.4 上传文件 103
本章小结 106
本章练习 106
第7章 正则表达式 107
7.1 正则表达式简介 108
7.2 正则表达式语法 108
7.2.1 量词 109
7.2.2 定位符 109
7.2.3 限定符 109
7.2.4 元字符 110
7.2.5 模式修饰符 110
7.3 正则表达式引擎原理 111
7.3.1 占有字符和零宽度 111
7.3.2 正则引擎 111
7.4 通用字符匹配规则 112
7.5 正则表达式高级应用 112
7.5.1 零宽先行断言 112
7.5.2 零宽后行断言 113
7.5.3 分组 114
7.5.4 非捕获元与后向引用 114
7.6 关于贪婪原则和最少原则 115
7.7 正则表达式的函数 115
7.8 电子邮件验证小案例 117
本章小结 117
本章练习 118
第8章 类和对象 119
8.1 面向对象的基本概念 120
8.2 面向对象的三大特点 120
8.2.1 封装 120
8.2.2 继承 124
8.2.3 多态 127
8.3 抽象类和方法(abstract) 129
8.4 接口(interface) 129
本章小结 130
本章练习 130
第9章 PHP和MySQL 131
9.1 PHP操作MySQL数据库 132
9.1.1 连接MySQL服务器 132
9.1.2 选择数据库文件 133
9.1.3 执行数据库操作 133
9.1.4 从结果集中获取信息 134
9.1.5 获取结果集中的记录数 136
9.2 PDO数据库抽象层 136
9.2.1 PDO构造函数 136
9.2.2 PDO中的事务处理 137
9.2.3 预处理语句 138
9.2.4 直接执行SQL语句 140
9.2.5 PDO中获取结果集 140
9.2.6 捕获错误 141
9.3 使用MySQLi 145
9.3.1 MySQLi面向对象 145
9.3.2 MySQLi面向过程 146
9.3.3 使用MySQLi存取数据 146
9.3.4 预准备语句 147
9.3.5 多个查询 149
本章小结 150
本章练习 150
第10章 ThinkPHP框架 151
10.1 ThinkPHP框架概述 152
10.2 ThinkPHP框架的特点 152
10.3 安装ThinkPHP 153
10.3.1 ThinkPHP的环境需求 153
10.3.2 ThinkPHP的结构 153
10.3.3 入口文件的编写 154
10.4 ThinkPHP配置文件 154
10.5 控制器 155
10.5.1 命名规则 155
10.5.2 使用规则 155
10.5.3 使用ThinkPHP实现九九乘法表 156
10.6 模型 157
10.6.1 命名规范 157
10.6.2 连接数据库 158
10.6.3 实例化模型 158
10.6.4 属性访问 159
10.6.5 创建数据对象 160
10.6.6 连贯操作 161
10.6.7 CURD操作 162
10.7 视图 164
10.7.1 模板定义 165
10.7.2 模板赋值 165
10.7.3 模板输出 166
10.7.4 模板替换 167
10.8 ThinkPHP的模板引擎 167
10.8.1 变量输出 167
10.8.2 内置标签 168
10.9 ThinkPHP的单字母方法 171
10.9.1 A方法:实例化控制器 171
10.9.2 R方法:直接调用控制器的操作方法 171
10.9.3 C方法:设置和获取配置参数 172
10.9.4 L方法:设置和获取语言变量 173
10.9.5 N方法:计数器 174
10.9.6 G方法:调试统计 174
10.9.7 U方法:URL地址生成 174
10.9.8 I方法:安全获取系统输入变量 175
10.10 ThinkPHP的注意事项 176
10.10.1 ThinkPHP的命名规则 176
10.10.2 ThinkPHP页面跳转与重定向 176
本章小结 178
本章练习 178
实践篇 181
实践1 安装PHP开发环境 181
实践指导 181
实践1.1 安装AppServ 181
实践1.2 安装Zend Studio 184
实践1.3 创建一个PHP项目 184
实践拓展 187
汉化Zend Studio软件 187
拓展练习 188
实践2 PHP基本语法 189
实践指导 189
实践2.1 用户登录功能 189
实践2.2 用户注册功能 193
实践拓展 195
三元运算符的使用 195
拓展练习 196
实践3 字符串和数组 197
实践指导 197
实践3.1 设计新闻前台首页 197
实践3.2 设计新闻列表页 205
实践3.3 设计新闻详情页 210
实践拓展 214
使用for循环遍历数组 214
拓展练习 215
实践4 PHP与MySQL 216
实践指导 216
实践4.1 应用MySQL的登录注册功能 216
实践4.2 应用MySQL的新闻浏览功能 219
实践4.3 设计搜索功能 233
实践拓展 239
MySQL的语句执行顺序 239
拓展练习 240
实践5 表单验证与文件处理 241
实践指导 241
实践5.1 实现注册页校验功能 241
实践5.2 实现评论功能 246
实践拓展 255
实现图片上传功能 255
拓展练习 259
实践6 应用ThinkPHP框架开发新闻发布系统——后台设计 260
实践指导 260
实践6.1 搭建ThinkPHP框架 260
实践6.2 设计登录功能 262
实践6.3 设计后台页面布局 267
实践6.4 设计新闻分类管理功能 291
实践6.5 设计新闻发布管理功能 300
实践6.6 设计评论管理功能 310
实践6.7 设计广告管理功能 315
实践拓展 330
使用D方法自动验证表单 330
拓展练习 333
实践7 应用ThinkPHP框架开发新闻发布系统——前台设计 334
实践指导 334
实践7.1 设计新闻网站浏览页面 334
实践7.2 设计新闻网站登录注册页面 351
实践拓展 357
URL重写 357
拓展练习 358