细说PHP 第二版 pdf
细说PHP 第2版 pdf 目录 第1部分 Web开发入门篇 第1章 LAMP网站构建 2 1.1 介绍网站给你认识 2 1.1.1 Web应用的优势 3 1.1.2 Web 2.0时代的互联网 4 1.1.3 Web开发标准 5 1.1.4 认识脚本语言 6 1.1.5 了解HTTP协议 6 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 服务器端编程语言 15 1.2.7 数据库管理系统 16 1.3 几种主流的Web应用程序平台 17 1.3.1 Web应用程序开发平台对比分析 17 1.3.2 动态网站开发平台技术比较 18 1.4 Web的工作原理 19 1.4.1 情景1:服务器不带应用程序服务器和 数据库 19 1.4.2 情景2:带应用程序服务器的Web服务器 20 1.4.3 情景3:浏览器访问服务器端的数据库 21 1.5 LAMP网站开发组合概述 22 1.5.1 Linux 操作系统 22 1.5.2 Web服务器Apache 22 1.5.3 MySQL数据库管理系统 23 1.5.4 PHP后台脚本编程语言 23 1.5.5 LAMP发展趋势 25 1.6 学PHP需要学习什么内容 26 1.6.1 学PHP之前的准备 26 1.6.2 学PHP时需要了解或掌握的内容 27 1.6.3 优秀的Web程序员是怎样练成的 28 1.7 小结 29 本章必须掌握的知识点 29 本章需要了解的内容 29 第2章 HTML的设计与应用 30 2.1 网页制作概述 30 2.1.1 HTML基础 30 2.1.2 简单HTML实例制作 31 2.2 HTML语言的语法 32 2.2.1 HTML标签和元素 32 2.2.2 HTML语法不区分字母大小写 32 2.2.3 HTML标签属性 33 2.2.4 HTML颜色值的设置 33 2.2.5 HTML文档注释 33 2.2.6 HTML代码格式 33 2.2.7 HTML字符实体 34 2.3 HTML文件的主体结构 34 2.4 HTML文档头部元素 35 2.4.1 元素 35 2.4.2 元素 35 2.4.3 元素 36 2.4.4 元素 36 2.5 HTML文档主体标记 37 2.6 文字版面的编辑 37 2.6.1 格式标签 38 2.6.2 文本标签 39 2.7 创建图像和链接 41 2.7.1 插入图片 41 2.7.2 建立锚点和超链接 42 2.8 使用HTML表格 42 2.9 HTML框架结构 45 2.10 HTML表单设计 47 2.11 小结 51 本章必须掌握的知识点 51 本章需要了解的内容 51 本章需要拓展的内容 51 本章的学习建议 52 第3章 层叠样式表CSS 53 3.1 CSS简介 53 3.2 CSS规则的组成 54 3.2.1 CSS注释 55 3.2.2 长度单位 56 3.2.3 颜色单位和URL值 56 3.3 在HTML文档中放置CSS的几种方式 57 3.3.1 内联样式表 57 3.3.2 嵌入一个样式表 57 3.3.3 连接到一个外部的样式表 57 3.4 CSS选择器 58 3.4.1 HTML选择器 58 3.4.2 类选择器 58 3.4.3 ID选择器 59 3.4.4 关联选择器 59 3.4.5 组合选择器 59 3.4.6 伪元素选择器 60 3.5 CSS常见的样式属性和值 60 3.5.1 字体属性 60 3.5.2 颜色属性 61 3.5.3 背景属性 61 3.5.4 文本属性 62 3.5.5 边框属性 62 3.5.6 鼠标光标属性 64 3.5.7 列表属性 64 3.5.8 综合示例 65 3.6 小结 67 本章必须掌握的知识点 67 本章需要了解的内容 67 本章需要拓展的内容 67 本章的学习建议 68 第4章 DIV+CSS网页标准化布局 69 4.1 DIV+CSS对页面布局的优势 69 4.2 "无意义"的HTML元素div和span 70 4.3 W3C盒子模型 70 4.4 和页面布局有关的CSS属性 72 4.5 盒子区块框的定位 74 4.5.1 相对定位 74 4.5.2 绝对定位 74 4.6 使用盒子模型的浮动布局 75 4.6.1 设置浮动 75 4.6.2 行框和清理 76 4.7 DIV+CSS的兼容性问题 78 4.7.1 不同浏览器解释盒子模型的差异 79 4.7.2 设置浏览器去遵循W3C标准 80 4.8 使用盒子模型设计页面布局 81 4.8.1 居中设计 81 4.8.2 设置两列浮动的布局 82 4.8.3 设置三列浮动的布局 83 4.8.4 设置多列浮动的布局 84 4.9 DIV+CSS网站首页面布局实例 85 4.9.1 HTML文件的设计 85 4.9.2 CSS文件设计 87 4.10 小结 89 本章必须掌握的知识点 89 本章需要了解的内容 89 本章需要拓展的内容 89 本章的学习建议 89 第2部分 PHP基础篇 第5章 从搭建你的PHP开发环境开始 92 5.1 几种常见的PHP环境安装方式 92 5.1.1 Linux系统下源代码包方式安装环境 92 5.1.2 在Windows系统上安装Web工作环境 93 5.1.3 搭建学习型的PHP工作环境 93 5.2 环境安装对操作系统的选择 93 5.2.1 选择网站运营的操作系统 93 5.2.2 选择网站开发的操作系统 94 5.3 安装集成PHP开发环境 94 5.3.1 安装前准备 94 5.3.2 安装步骤 95 5.3.3 环境测试 96 5.4 phpMyAdmin的配置与应用 98 5.4.1 HTTP身份验证模式 99 5.4.2 cookie身份验证模式 99 5.4.3 config身份验证模式 100 5.5 小结 101 本章必须掌握的知识点 101 本章需要了解的内容 101 本章需要拓展的内容 101 第6章 PHP的基本语法 102 6.1 PHP在Web开发中的应用 102 6.1.1 就从认识PHP开始吧 102 6.1.2 PHP都能做什么 103 6.2 第一个PHP脚本程序 105 6.3 PHP语言标记 108 6.3.1 将PHP代码嵌入HTML中的位置 109 6.3.2 解读开始和结束标记 109 6.4 指令分隔符"分号" 111 6.5 程序注释 111 6.6 在程序中使用空白的处理 113 6.7 变量 113 6.7.1 变量的声明 114 6.7.2 变量的命名 115 6.7.3 可变变量 116 6.7.4 变量的引用赋值 116 6.8 变量的类型 117 6.8.1 类型介绍 118 6.8.2 布尔型(boolean) 118 6.8.3 整型(integer) 119 6.8.4 浮点型(float或double) 120 6.8.5 字符串(String) 120 6.8.6 数组(Array) 122 6.8.7 对象(Object) 123 6.8.8 资源类型(Resource) 123 6.8.9 NULL类型 124 6.8.10 伪类型介绍 124 6.9 数据类型之间相互转换 125 6.9.1 自动类型转换 125 6.9.2 强制类型转换 126 6.9.3 类型转换细节 126 6.9.4 变量类型的测试函数 127 6.10 常量 128 6.10.1 常量的定义和使用 128 6.10.2 常量和变量 129 6.10.3 系统中的预定义常量 129 6.10.4 PHP中的魔术常量 129 6.11 PHP中的运算符 130 6.11.1 算术运算符 131 6.11.2 字符串运算符 133 6.11.3 赋值运算符 133 6.11.4 比较运算符 134 6.11.5 逻辑运算符 135 6.11.6 位运算符 136 6.11.7 其他运算符 139 6.11.8 运算符的优先级 140 6.12 表达式 141 6.13 小结 142 本章必须掌握的知识点 142 本章需要了解的内容 142 本章需要拓展的内容 142 第7章 PHP的流程控制结构 143 7.1 分支结构 143 7.1.1 单一条件分支结构(if) 144 7.1.2 双向条件分支结构(else从句) 145 7.1.3 多向条件分支结构(elseif子句) 145 7.1.4 多向条件分支结构(switch语句) 147 7.1.5 巢状条件分支结构 148 7.1.6 条件分支结构实例应用(简单计算器) 149 7.2 循环结构 151 7.2.1 while语句 152 7.2.2 do…while循环 154 7.2.3 for语句 155 7.3 特殊的流程控制语句 157 7.3.1 break语句 157 7.3.2 continue语句 158 7.3.3 exit语句 159 7.4 小结 160 本章必须掌握的知识点 160 本章需要了解的内容 160 第8章 PHP的函数应用 161 8.1 函数的定义 161 8.2 自定义函数 162 8.2.1 函数的声明 162 8.2.2 函数的调用 164 8.2.3 函数的参数 165 8.2.4 函数的返回值 166 8.3 函数的工作原理和结构化编程 168 8.4 PHP变量的范围 168 8.4.1 局部变量 169 8.4.2 全局变量 170 8.4.3 静态变量 171 8.5 声明及应用各种形式的PHP函数 171 8.5.1 常规参数的函数 173 8.5.2 伪类型参数的函数 173 8.5.3 引用参数的函数 173 8.5.4 默认参数的函数 175 8.5.5 可变个数参数的函数 176 8.5.6 回调函数 177 8.6 递归函数 181 8.7 使用自定义函数库 182 8.8 小结 183 本章必须掌握的知识点 183 本章需要了解的内容 183 本章需要拓展的内容 183 第9章 PHP中的数组与数据结构 184 9.1 数组的分类 184 9.2 数组的定义 186 9.2.1 直接赋值的方式声明数组 186 9.2.2 使用array()语言结构新建数组 188 9.2.3 多维数组的声明 188 9.3 数组的遍历 190 9.3.1 使用for语句循环遍历数组 191 9.3.2 使用foreach语句遍历数组 193 9.3.3 联合使用list( )、each( )和while循环 遍历数组 195 9.3.4 使用数组的内部指针控制函数遍历数组 198 9.4 预定义数组 199 9.4.1 服务器变量:$_SERVER 200 9.4.2 环境变量:$_ENV 200 9.4.3 URL GET变量:$_GET 200 9.4.4 HTTP POST变量:$_POST 201 9.4.5 request变量:$_REQUEST 202 9.4.6 HTTP文件上传变量:$_FILES 202 9.4.7 HTTP Cookies:$_COOKIE 202 9.4.8 Session变量:$_SESSION 203 9.4.9 Global变量:$GLOBALS 203 9.5 数组的相关处理函数 203 9.5.1 数组的键/值操作函数 203 9.5.2 统计数组元素的个数和唯一性 206 9.5.3 使用回调函数处理数组的函数 208 9.5.4 数组的排序函数 211 9.5.5 拆分、合并、分解和接合数组 215 9.5.6 数组与数据结构 218 9.5.7 其他有用的数组处理函数 220 9.6 操作PHP数组需要注意的一些细节 221 9.6.1 数组运算符号 221 9.6.2 删除数组中的元素操作 222 9.6.3 关于数组下标的注意事项 222 9.7 小结 223 本章必须掌握的知识点 223 本章需要了解的内容 223 本章需要拓展的内容 223 第10章 PHP面向对象的程序设计 224 10.1 面向对象的介绍 224 10.1.1 类和对象之间的关系 225 10.1.2 面向对象的程序设计 225 10.2 如何抽象一个类 226 10.2.1 类的声明 226 10.2.2 成员属性 227 10.2.3 成员方法 228 10.3 通过类实例化对象 229 10.3.1 实例化对象 229 10.3.2 对象类型在内存中的分配 230 10.3.3 对象中成员的访问 232 10.3.4 特殊的对象引用"$this" 234 10.3.5 构造方法与析构方法 235 10.4 封装性 238 10.4.1 设置私有成员 239 10.4.2 私有成员的访问 240 10.4.3 __set()、__get()、__isset()和__unset() 四个方法 242 10.5 继承性 247 10.5.1 类继承的应用 247 10.5.2 访问类型控制 249 10.5.3 子类中重载父类的方法 251 10.6 常见的关键字和魔术方法 253 10.6.1 final关键字的应用 253 10.6.2 static关键字的使用 254 10.6.3 单态设计模式 255 10.6.4 const关键字 257 10.6.5 instanceof关键字 257 10.6.6 克隆对象 257 10.6.7 类中通用的方法__toString() 259 10.6.8 __call()方法的应用 259 10.6.9 自动加载类 261 10.6.10 对象串行化 262 10.7 抽象类与接口 265 10.7.1 抽象类 265 10.7.2 接口技术 266 10.8 多态性的应用 268 10.9 面向对象版图形计算器 270 10.9.1 需求分析 270 10.9.2 功能设计及实现 271 10.9.3 类的组织架构 276 10.10 小结 277 本章必须掌握的知识点 277 本章需要了解的内容 278 本章需要拓展的内容 278 第11章 字符串处理 279 11.1 字符串的处理介绍 279 11.1.1 字符串的处理方式 279 11.1.2 字符串类型的特点 280 11.1.3 双引号中变量解析总结 280 11.2 常用的字符串输出函数 281 11.3 常用的字符串格式化函数 284 11.3.1 去除空格和字符串填补函数 284 11.3.2 字符串大小写的转换 285 11.3.3 和HTML标签相关的字符串格式化 286 11.3.4 其他字符串格式化函数 290 11.4 字符串比较函数 291 11.4.1 按字节顺序进行字符串比较 291 11.4.2 按自然排序进行字符串比较 292 11.5 小结 293 本章必须掌握的知识点 293 本章需要拓展的内容 293 第12章 正则表达式 294 12.1 正则表达式简介 294 12.1.1 选择PHP正则表达式的处理函数库 294 12.2 正则表达式的语法规则 295 12.2.1 定界符 296 12.2.2 原子 296 12.2.3 元字符 298 12.2.4 模式修正符 301 12.3 与Perl兼容的正则表达式函数 302 12.3.1 字符串的匹配与查找 302 12.3.2 字符串的替换 305 12.3.3 字符串的分割和连接 310 12.4 文章发布操作示例 312 12.5 小结 317 本章必须掌握的知识点 317 本章需要了解的内容 317 本章需要扩展的内容 317 第3部分 PHP常用功能模块篇 第13章 PHP的错误和异常处理 320 13.1 错误处理 320 13.1.1 错误报告级别 321 13.1.2 调整错误报告级别 321 13.1.3 使用trigger_error()函数来替代die() 323 13.1.4 自定义错误处理 323 13.1.5 写错误日志 325 13.2 异常处理 327 13.2.1 异常处理实现 328 13.2.2 扩展PHP内置的异常处理类 328 13.2.3 捕获多个异常 330 13.3 小结 332 本章必须掌握的知识点 332 本章需要了解的内容 332 第14章 PHP的日期和时间 333 14.1 UNIX时间戳 333 14.1.1 将日期和时间转变成UNIX时间戳 333 14.1.2 日期的计算 335 14.2 在PHP中获取日期和时间 335 14.2.1 调用getdate()函数取得日期/时间信息 335 14.2.2 日期和时间格式化输出 336 14.3 修改PHP的默认时区 337 14.4 使用微秒计算PHP脚本执行时间 338 14.5 日历类 339 14.6 小结 343 本章必须掌握的知识点 343 本章需要了解的内容 343 本章需要拓展的内容 343 本章的学习建议 343 第15章 文件系统处理 344 15.1 文件系统概述 344 15.1.1 文件类型 344 15.1.2 文件的属性 345 15.2 目录的基本操作 348 15.2.1 解析目录路径 348 15.2.2 遍历目录 349 15.2.3 统计目录大小 351 15.2.4 建立和删除目录 352 15.2.5 复制目录 352 15.3 文件的基本操作 353 15.3.1 文件的打开与关闭 353 15.3.2 写入文件 355 15.3.3 读取文件内容 356 15.3.4 访问远程文件 358 15.3.5 移动文件指针 359 15.3.6 文件的锁定机制 360 15.3.7 文件的一些基本操作函数 363 15.4 文件的上传与下载 364 15.4.1 文件上传 364 15.4.2 处理多个文件上传 367 15.4.3 文件下载 368 15.5 设计经典的文件上传类 369 15.5.1 需求分析 369 15.5.2 程序设计 370 15.5.3 文件上传类代码实现 370 15.5.4 文件上传类的应用过程 375 15.6 小结 376 本章必须掌握的知识点 376 本章需要了解的内容 377 本章需要拓展的内容 377 本章的学习建议 377 第16章 PHP动态图像处理 378 16.1 PHP中GD库的使用 378 16.1.1 画布管理 380 16.1.2 设置颜色 380 16.1.3 生成图像 381 16.1.4 绘制图像 381 16.1.5 在图像中绘制文字 383 16.2 设计经典验证码类 386 16.2.1 设计验证码类 386 16.2.2 应用验证码类的实例对象 389 16.2.3 表单中应用验证码 389 16.2.4 实例演示 390 16.3 PHP图片处理 390 16.3.1 图片背景管理 390 16.3.2 图片缩放 392 16.3.3 图片裁剪 393 16.3.4 添加图片水印 395 16.3.5 图片旋转和翻转 396 16.4 设计经典的图像处理类 398 16.4.1 需求分析 398 16.4.2 程序设计 399 16.4.3 图像处理类代码实现 399 16.4.4 图像处理类的应用过程 404 16.5 小结 406 本章必须掌握的知识点 406 本章需要了解的内容 406 本章需要拓展的内容 406 第4部分 数据库开发篇 第17章 MySQL数据库概述 408 17.1 数据库的应用 408 17.1.1 数据库在Web开发中的重要地位 409 17.1.2 为什么PHP会选择MySQL作为自己 的黄金搭档 409 17.1.3 PHP和MySQL的合作方式 409 17.1.4 结构化查询语言SQL 410 17.2 MySQL数据库的常见操作 411 17.2.1 MySQL数据库的连接与关闭 411 17.2.2 创建新用户并授权 412 17.2.3 创建数据库 412 17.2.4 创建数据表 413 17.2.5 数据表内容的简单管理 414 17.3 小结 416 本章必须掌握的知识点 416 第18章 MySQL数据表的设计 417 18.1 数据表(Table) 417 18.2 数据值和列类型 418 18.2.1 数值类的数据列类型 418 18.2.2 字符串类数据列类型 419 18.2.3 日期和时间型数据列类型 420 18.2.4 NULL值 421 18.2.5 类型转换 421 18.3 数据字段属性 421 18.4 数据表对象管理 422 18.4.1 创建表(CREATE TABLE) 422 18.4.2 修改表(ALTER TABLE) 423 18.4.3 删除表(DROP TABLE) 424 18.5 数据表的类型及存储位置 425 18.5.1 MyISAM数据表 425 18.5.2 InnoDB数据表 425 18.5.3 如何选择InnoDB还是MyISAM表 类型 425 18.5.4 数据表的储存位置 426 18.6 数据表的默认字符集 426 18.6.1 字符集 427 18.6.2 字符集支持原理 427 18.6.3 创建数据对象时修改字符集 428 18.7 创建索引 428 18.7.1 主键索引(PRIMARY KEY) 428 18.7.2 唯一索引(UNIQUE) 429 18.7.3 常规索引(INDEX) 430 18.7.4 全文索引(FULLTEXT) 430 18.8 规范化 431 18.8.1 起点 431 18.8.2 第一范式 432 18.8.3 第二范式 432 18.8.4 第三范式 434 18.8.5 规范化理论 435 18.9 数据库的设计技巧 436 18.9.1 数据库设计要求 436 18.9.2 起名字的技巧 436 18.9.3 数据库具体设计工作中的技巧 436 18.10 小结 437 本章必须掌握的知识点 437 本章需要了解的内容 437 本章需要拓展的内容 437 第19章 SQL语句设计 438 19.1 操作数据表中的数据记录(DML) 438 19.1.1 使用INSERT语句向数据表中添加 数据 438 19.1.2 使用UPDATE语句更新数据表中已 存在的数据 439 19.1.3 使用DELETE语句删除数据表中不 需要的数据记录 440 19.2 通过DQL命令查询数据表中的数据 441 19.2.1 选择特定的字段 441 19.2.2 使用AS子句为字段取别名 442 19.2.3 DISTINCT关键字的使用 442 19.2.4 在SELECT语句中使用表达式的列 443 19.2.5 使用WHERE子句按条件检索 444 19.2.6 根据空值(NULL)确定检索条件 445 19.2.7 使用BETWEEN AND进行范围比较 查询 445 19.2.8 使用IN进行范围比对查询 445 19.2.9 使用LIKE进行模糊查询 446 19.2.10 多表查询(连接查询) 446 19.2.11 嵌套查询(子查询) 449 19.2.12 使用ORDER BY对查询结果排序 449 19.2.13 使用LIMIT限定结果行数 450 19.2.14 使用统计函数 450 19.2.15 使用GROUP BY对查询结果分组 451 19.3 查询优化 452 19.4 小结 454 本章必须掌握的知识点 454 本章需要拓展的内容 454 本章的学习建议 454 第20章 PHP访问MySQL的扩展函数 455 20.1 PHP访问MySQL数据库服务器的 流程 455 20.2 在PHP脚本中连接MySQL服务器 457 20.2.1 在PHP程序中选择已创建的数据库 458 20.2.2 执行SQL命令 458 20.2.3 在PHP脚本中处理SELECT查询 结果集 460 20.3 设计完美分页类 462 20.3.1 需求分析 462 20.3.2 程序设计 462 20.3.3 完美分页类的代码实现 463 20.3.4 分页类的应用过程 468 20.4 管理books表实例 470 20.4.1 需求分析 470 20.4.2 程序设计 471 20.5 PHP的mysqli扩展介绍 477 20.5.1 启用mysqli扩展模块 478 20.5.2 mysqli扩展接口的应用概述 479 20.6 小结 480 本章必须掌握的知识点 480 本章需要了解的内容 480 本章需要拓展的内容 480 本章的学习建议 480 第21章 数据库抽象层PDO 481 21.1 PDO所支持的数据库 481 21.2 PDO的安装 482 21.3 创建PDO对象 483 21.3.1 以多种方式调用构造方法 484 21.3.2 PDO对象中的成员方法 486 21.4 使用PDO对象 487 21.4.1 调整PDO的行为属性 487 21.4.2 PDO处理PHP程序和数据库之间的 数据类型转换 487 21.4.3 PDO的错误处理模式 488 21.4.4 使用PDO执行SQL语句 489 21.5 PDO对预处理语句的支持 491 21.5.1 了解PDOStatement对象 491 21.5.2 准备语句 492 21.5.3 绑定参数 493 21.5.4 执行准备好的查询 494 21.5.5 获取数据 495 21.5.6 大数据对象的存取 499 21.6 PDO的事务处理 499 21.6.1 MySQL的事务处理 500 21.6.2 构建事务处理的应用程序 500 21.7 小结 502 本章必须掌握的知识点 502 本章需要了解的内容 502 本章需要拓展的内容 502 第5部分 PHP开发高级篇 第22章 MemCache管理与应用 504 22.1 MemCache概述 504 22.1.1 初识MemCache 504 22.1.2 MemCache在Web中的应用 505 22.2 memcached的安装及管理 507 22.2.1 Linux下安装MemCache软件 507 22.2.2 Windows下安装memcached软件 507 22.2.3 memcached服务器的管理 508 22.3 使用Telnet作为memcached的客户端 管理 509 22.3.1 连接memcached服务器 509 22.3.2 基本的memcached客户端命令 509 22.3.3 查看当前memcached服务器的运行 状态信息 510 22.3.4 数据管理指令 510 22.4 PHP的memcached管理接口 511 22.4.1 安装PHP中的MemCache应用程序 扩展接口 512 22.4.2 MemCache应用程序扩展接口 513 22.4.3 MemCache的实例应用 518 22.5 memcached服务器的安全防护 519 22.6 小结 519 本章必须掌握的知识点 519 本章需要了解的内容 520 本章需要拓展的内容 520 第23章 会话控制 521 23.1 为什么要使用会话控制 521 23.2 会话跟踪的方式 522 23.3 Cookie的应用 523 23.3.1 Cookie概述 523 23.3.2 向客户端计算机中设置Cookie 524 23.3.3 在PHP脚本中读取Cookie的资料 内容 525 23.3.4 数组形态的Cookie应用 525 23.3.5 删除Cookie 526 23.3.6 基于Cookie的用户登录模块 526 23.4 Session的应用 528 23.4.1 Session概述 528 23.4.2 配置Session 529 23.4.3 Session的声明与使用 530 23.4.4 注册一个会话变量和读取Session 531 23.4.5 注销变量与销毁Session 531 23.4.6 Session的自动回收机制 533 23.4.7 传递Session ID 533 23.5 一个简单的邮件系统实例 536 23.5.1 为邮件系统准备数据 536 23.5.2 编码实现邮件系统 537 23.5.3 邮件系统执行说明 539 23.6 自定义Session处理方式 540 23.6.1 自定义Session的存储机制 540 23.6.2 使用数据库处理Session信息 543 23.6.3 使用memcached处理Session信息 546 23.7 小结 549 本章必须掌握的知识点 549 本章需要了解的内容 549 本章需要拓展的内容 549 第24章 PHP的模板引擎Smarty 550 24.1 什么是模板引擎 550 24.2 自定义模板引擎 552 24.2.1 自定义模板引擎类 552 24.2.2 使用自己的模板引擎 554 24.2.3 应用自定义模板引擎的示例分析 556 24.3 选择Smarty模板引擎 559 24.4 安装Smarty及初始化配置 560 24.4.1 安装Smarty 561 24.4.2 初始化Smarty类库的默认设置 561 24.4.3 第一个Smarty的简单示例 564 24.5 Smarty的基本应用 566 24.5.1 PHP程序员常用和Smarty相关的 操作 567 24.5.2 模板设计时美工的常用操作 568 24.6 Smarty模板设计的基本语法 569 24.6.1 模板中的注释 569 24.6.2 模板中的变量应用 569 24.6.3 模板中的函数应用 572 24.6.4 忽略Smarty解析 574 24.7 在Smarty模板中的变量应用 574 24.7.1 从配置文件中读取变量 575 24.7.2 在模板中使用保留变量 578 24.8 在Smarty模板中的变量调解器 580 24.8.1 变量调解器函数的使用方式 580 24.8.2 Smarty默认提供的变量调解器 581 24.8.3 自定义变量调解器插件 582 24.9 Smarty模板中自定义函数 585 24.9.1 为Smarty模板扩充函数插件 585 24.9.2 为Smarty模板扩充块函数插件 586 24.10 Smarty模板中的内置函数 587 24.10.1 变量声明 588 24.10.2 流程控制 589 24.10.3 声明和调用模板函数 592 24.10.4 数组遍历 593 24.10.5 Smarty提供的其他内置函数 598 24.11 Smarty的模板继承特性 599 24.11.1 使用{extends}函数实现模板继承 599 24.11.2 在子模板中覆盖父模板中的部分 内容区域 600 24.11.3 合并子模板和父模板的{block}标签 内容 601 24.12 Smarty的缓存控制 602 24.12.1 在Smarty中控制缓存 603 24.12.2 每个模板多个缓存 604 24.12.3 为缓存实例消除处理开销 605 24.12.4 清除缓存 605 24.12.5 关闭局部缓存 606 24.13 小结 606 本章必须掌握的知识点 606 本章需要了解的内容 606 本章需要拓展的内容 607 第25章 MVC模式与PHP框架 608 25.1 MVC模式在Web中的应用 608 25.1.1 MVC模式的工作原理 608 25.1.2 MVC模式的优缺点 609 25.2 PHP开发框架 610 25.2.1 什么是框架 611 25.2.2 为什么要用框架 611 25.2.3 框架和MVC设计模式的关系 612 25.2.4 比较流行的PHP框架 612 25.3 划分模块和操作 614 25.3.1 为项目划分模块 614 25.3.2 为模块设置操作 615 第26章 超轻量级PHP框架BroPHP 616 26.1 BroPHP框架概述 616 26.1.1 系统特点 616 26.1.2 环境要求 617 26.1.3 BroPHP框架源码的目录结构 617 26.2 单一入口 618 26.2.1 基于BroPHP框架的单一入口编写 规则 618 26.3 部署项目应用目录 619 26.3.1 项目部署方式 620 26.3.2 URL访问 622 26.4 BroPHP框架的基本设置 623 26.4.1 默认开启 623 26.4.2 配置文件 623 26.4.3 内置函数 624 26.5 声明控制器(Control) 625 26.5.1 控制器的声明(模块) 625 26.5.2 操作的声明 626 26.5.3 页面跳转 627 26.5.4 重定向 628 26.6 设计视图(View) 629 26.6.1 视图与控制器之间的交互 629 26.6.2 切换模板风格 630 26.6.3 模板文件的声明规则 630 26.6.4 display()用新用法 631 26.6.5 在模板中的几个常用变量应用 631 26.6.6 在PHP程序中定义资源位置 632 26.7 应用模型(Model) 632 26.7.1 BroPHP数据库操作接口的特性 632 26.7.2 切换数据库驱动 633 26.7.3 声明和实例化Model 634 26.7.4 数据库的统一操作接口 637 26.8 自动验证 654 26.9 缓存设置 656 26.9.1 基于memcached缓存设置 656 26.9.2 基于Smarty的缓存机制 657 26.10 调试模式 658 26.11 内置扩展类库 659 26.11.1 分页类Page 659 26.11.2 验证码类Vcode 660 26.11.3 图像处理类Image 661 26.11.4 文件上传类FileUpload 662 26.12 自定义功能扩展 664 26.12.1 自定义扩展类库 664 26.12.2 自定义扩展函数库 664 26.13 小结 664 本章必须掌握的知识点 664 本章需要了解的内容 665 第6部分 项目开发篇 第27章 B/S结构软件开发流程 668 27.1 软件开发过程的划分 668 27.2 需求开发 669 27.2.1 需求分析流程 670 27.2.2 需求分析说明 670 27.2.3 输出 671 27.3 系统设计 671 27.3.1 系统设计流程 672 27.3.2 系统设计说明 672 27.4 编码测试 674 27.4.1 编码与测试流程 675 27.4.2 编码说明 675 27.4.3 结果测试说明 676 27.5 试运行 678 27.5.1 软件试运行流程 678 27.5.2 软件试运行说明 679 27.6 实施 679 27.6.1 软件实施流程 680 27.6.2 软件实施说明 680 27.7 验收 681 27.7.1 软件验收流程 681 27.7.2 软件验收说明 682 27.7.3 验收标准 683 27.8 服务与维护 683 27.8.1 责任人 683 27.8.2 收集信息 683 27.8.3 维护分析 684 27.8.4 软件维护 684 27.8.5 改进 684 27.8.6 输出 684 27.9 项目管理 684 27.9.1 软件项目的计划 685 27.9.2 软件项目的组织 687 27.9.3 项目小组组织形式 687 27.10 项目参考 688 第28章 需求分析说明书 689 28.1 文档介绍 689 28.1.1 编写说明 690 28.1.2 项目背景 690 28.1.3 读者对象 690 28.1.4 参考资料 690 28.1.5 术语与缩写解释 691 28.2 任务概述 691 28.2.1 产品的描述 691 28.2.2 系统目标 692 28.2.3 系统功能结构 692 28.2.4 系统流程图 692 28.3 业务描述 694 28.3.1 后台登录管理 694 28.3.2 后台操作界面管理 695 28.3.3 常规管理 698 28.3.4 公告管理 700 28.3.5 友情链接管理 702 28.3.6 相册管理 705 28.3.7 图片管理 708 28.3.8 栏目管理 710 28.3.9 文章管理 713 28.3.10 幻灯片管理 716 28.3.11 用户组管理 719 28.3.12 用户管理 721 28.3.13 前台首页管理 724 28.3.14 栏目列表管理 725 28.3.15 文章内容管理 727 28.3.16 文章搜索管理 728 28.3.17 登录注册管理 730 28.3.18 个人空间管理 731 28.3.19 消息管理 736 28.3.20 动态管理 739 28.4 系统运行环境 743 28.4.1 硬件环境 743 28.4.2 软件环境 743 28.5 需求设计评审 744 第29章 数据库设计说明书 745 29.1 引言 745 29.1.1 编写目的 746 29.1.2 背景 746 29.1.3 定义 746 29.1.4 参考资料 746 29.2 外部设计 746 29.2.1 标识符和状态 747 29.2.2 使用它的程序 747 29.2.3 约定 747 29.2.4 支持软件 747 29.3 结构设计 748 29.4 逻辑结构设计 754 29.4.1 ER图向关系模型的转化 754 29.4.2 确定关系模式 754 29.4.3 消除冗余 755 29.5 物理结构设计 755 29.5.1 设计数据表结构 755 29.5.2 创建数据表 760 29.5.3 数据表记录的输入 764 29.6 安全保密设计 764 29.6.1 完整性 764 29.6.2 数据库设计的其他问题 765 第30章 程序设计说明书 766 30.1 引言 766 30.1.1 编写目的 766 30.1.2 背景 767 30.1.3 定义 767 30.1.4 使用技术 767 30.1.5 参考资料 767 30.2 系统的结构 767 30.2.1 项目的目录结构 768 30.2.2 模块结构 768 30.2.3 程序结构 769 30.3 用户管理模块设计说明 774 30.3.1 功能 774 30.3.2 流程逻辑 774 30.3.3 接口 775 30.3.4 存储分配 775 30.3.5 注释设计 775 30.3.6 限制条件 775 30.3.7 测试计划 776 30.3.8 尚未解决的问题 776 30.3.9 获取添加用户的界面操作add() 776 30.3.10 用户数据入库的操作insert() 777 30.3.11 查询用户列表操作index() 778 30.3.12 获取修改用户的界面操作mod() 779 30.3.13 用户数据修改的操作update() 780 30.3.14 删除用户操作del() 781 附 录 附录A 编码规范 784 A.1 绪论 784 A.1.1 适用范围 784 A.1.2 目标 784 A.1.3 开发工具 785 A.2 PHP的文件格式 785 A.2.1 PHP开始和结束标记 785 A.2.2 注释规范 786 A.2.3 空行和空白 786 A.2.4 字符串的使用 787 A.2.5 命名原则 788 A.2.6 语言结构 791 A.2.7 其他规范细节 793 A.3 MySQL设计规范 794 A.3.1 数据表的设计 794 A.3.2 索引设计原则 795 A.3.3 SQL语句设计 796 A.4 模板设计 796 附录B PHP的安全和优化 798 B.1 网站安全Security 798 B.1.1 安全配置PHP 799 B.1.2 隐藏配置细节 802 B.1.3 隐藏敏感数据 803 B.1.4 清理用户数据 804 B.1.5 数据加密 806 B.2 网站优化Optimize 807 B.2.1 PHP脚本级优化 807 B.2.2 使用代码优化工具 809 B.2.3 缓存加速 810 B.2.4 HTTP加速 810 B.2.5 启用GZIP内容压缩 810 附录C、附录D见本书光盘
用户评论
垃圾 还要十二积分 就一百页
还不错,入门书籍
谢谢分享了。