细说PHP 第二版作 者: 高洛峰编著出版时间:2012内容简介 PHP是开发Web应用系统最理想的工具,易于使用、功能强大、成本低廉、高安全性、开发速度快且执行灵活。全书以实用为目标设计,包含PHP开发最主流的各项技术,对每一个知识点都进行了深入详细的讲解,并附有大量的实例代码,图文并茂。系统地介绍了PHP的相关技术及其在实际Web开发中的应用。全书共六个部分,分为30个章节,每一章都是PHP独立知识点的总结。内容涵盖了动态网站开发的前台技术(HTML+CSS)、PHP编程语言的语法、PHP的常用功能模块和实用技巧、MySQL数据库的设计与应用、PHP面向对象的程序设计思想、数据库抽象层PDO、Smarty模板技术、Web开发的设计模式、自定义框架BroPHP、Web项目开发整个流程等目前PHP开发中最主流的技术。每一章中都有大量的实用示例,以及详尽的注释,加速读者的理解和学习,也为每章的技术点设置了大量的自测试题。最后以一个比较完整的、采用面向对象思想,以及通过MVC模式设计,并结合Smarty模板,基于BroPHP框架的CMS系统为案例,详细介绍了Web系统开发从设计到部署的各个细节,便于更好地进行开发实践。对于PHP应用开发的新手而言,本书不失为一本好的入门教材,内容既实用又全面,所有实例都可以在开发中直接应用,并辅以大量的视频教程,使读者轻松掌握所学知识。另外,本书也适合有一定基础的网络开发人员和网络爱好者,以及大中专院校的师生阅读与参考。不仅可以作为PHP开发的学习用书,还可以作为从事Web开发的程序员的参考用书和必备手册。对于行家来说,本书也是一本难得的参考手册,读者必将从中获益。目录第1部分 web开发入门篇第1章 lamp网站构建1.1 介绍网站给你认识1.1.1 web应用的优势1.1.2 web 2.0时代的互联网1.1.3 web开发标准1.1.4 认识脚本语言1.1.5 了解http协议1.2 动态网站开发所需的web构件1.2.1 客户端浏览器1.2.2 超文本标记语言html1.2.3 层叠样式表css1.2.4 客户端脚本编程语言javascript1.2.5 web服务器1.2.6 服务器端编程语言1.2.7 数据库管理系统1.3 几种主流的web应用程序平台1.3.1 web应用程序开发平台对比分析1.3.2 动态网站开发平台技术比较1.4 web的工作原理1.4.1 情景1:服务器不带应用程序服务器和数据库1.4.2 情景2:带应用程序服务器的web服务器1.4.3 情景3:浏览器访问服务器端的数据库1.5 lamp网站开发组合概述1.5.1 linux操作系统1.5.2 web服务器apache1.5.3 mysql数据库管理系统1.5.4 php后台脚本编程语言1.5.5 lamp发展趋势1.6 学php需要学习什么内容1.6.1 学php之前的准备1.6.2 学php时需要了解或掌握的内容1.6.3 优秀的web程序员是怎样练成的1.7 小结本章必须掌握的知识点本章需要了解的内容第2章 html的设计与应用2.1 网页制作概述2.1.1 html基础2.1.2 简单html实例制作2.2 html语言的语法2.2.1 html标签和元素2.2.2 html语法不区分字母大小写2.2.3 html标签属性2.2.4 html颜色值的设置2.2.5 html文档注释2.2.6 html代码格式2.2.7 html字符实体2.3 html文件的主体结构2.4 html文档头部元素[head]2.4.1 [title]元素2.4.2 [base]元素2.4.3 [link]元素2.4.4 [meta]元素2.5 html文档主体标记2.6 文字版面的编辑2.6.1 格式标签2.6.2 文本标签2.7 创建图像和链接2.7.1 插入图片2.7.2 建立锚点和超链接2.8 使用html表格2.9 html框架结构2.10 html表单设计2.11 小结本章必须掌握的知识点本章需要了解的内容本章需要拓展的内容本章的学习建议第3章 层叠样式表css3.1 css简介3.2 css规则的组成3.2.1 css注释3.2.2 长度单位3.2.3 颜色单位和url值3.3 在html文档中放置css的几种方式3.3.1 内联样式表3.3.2 嵌入一个样式表3.3.3 连接到一个外部的样式表3.4 css选择器3.4.1 html选择器3.4.2 类选择器3.4.3 id选择器3.4.4 关联选择器3.4.5 组合选择器3.4.6 伪元素选择器3.5 css常见的样式属性和值3.5.1 字体属性3.5.2 颜色属性3.5.3 背景属性3.5.4 文本属性3.5.5 边框属性3.5.6 鼠标光标属性3.5.7 列表属性3.5.8 综合示例3.6 小结本章必须掌握的知识点本章需要了解的内容本章需要拓展的内容本章的学习建议第4章 div+css网页标准化布局4.1 div+css对页面布局的优势4.2 “无意义”的html元素div和span4.3 w3c盒子模型4.4 和页面布局有关的css属性4.5 盒子区块框的定位4.5.1 相对定位4.5.2 绝对定位4.6 使用盒子模型的浮动布局4.6.1 设置浮动4.6.2 行框和清理4.7 div+css的兼容性问题4.7.1 不同浏览器解释盒子模型的差异4.7.2 设置浏览器去遵循w3c标准4.8 使用盒子模型设计页面布局4.8.1 居中设计4.8.2 设置两列浮动的布局4.8.3 设置三列浮动的布局4.8.4 设置多列浮动的布局4.9 div+css网站首页面布局实例4.9.1 html文件的设计4.9.2 css文件设计4.10 小结本章必须掌握的知识点本章需要了解的内容本章需要拓展的内容本章的学习建议第2部分 php基础篇第5章 从搭建你的php开发环境开始5.1 几种常见的php环境安装方式5.1.1 linux系统下源代码包方式安装环境5.1.2 在windows系统上安装web工作环境5.1.3 搭建学习型的php工作环境5.2 环境安装对操作系统的选择5.2.1 选择网站运营的操作系统5.2.2 选择网站开发的操作系统5.3 安装集成php开发环境5.3.1 安装前准备5.3.2 安装步骤5.3.3 环境测试5.4 phpmyadmin的配置与应用5.4.1 http身份验证模式5.4.2 cookie身份验证模式5.4.3 config身份验证模式5.5 小结本章必须掌握的知识点本章需要了解的内容本章需要拓展的内容第6章 php的基本语法6.1 php在web开发中的应用6.1.1 就从认识php开始吧6.1.2 php都能做什么6.2 第一个php脚本程序6.3 php语言标记6.3.1 将php代码嵌入html中的位置6.3.2 解读开始和结束标记6.4 指令分隔符“分号”6.5 程序注释6.6 在程序中使用空白的处理6.7 变量6.7.1 变量的声明6.7.2 变量的命名6.7.3 可变变量6.7.4 变量的引用赋值6.8 变量的类型6.8.1 类型介绍6.8.2 布尔型(boolean)6.8.3 整型(integer)6.8.4 浮点型(float或double)6.8.5 字符串(string)6.8.6 数组(array)6.8.7 对象(object)6.8.8 资源类型(resource)6.8.9 null类型6.8.10 伪类型介绍6.9 数据类型之间相互转换6.9.1 自动类型转换6.9.2 强制类型转换6.9.3 类型转换细节6.9.4 变量类型的测试函数6.10 常量6.10.1 常量的定义和使用6.10.2 常量和变量6.10.3 系统中的预定义常量6.10.4 php中的魔术常量6.11 php中的运算符6.11.1 算术运算符6.11.2 字符串运算符6.11.3 赋值运算符6.11.4 比较运算符6.11.5 逻辑运算符6.11.6 位运算符6.11.7 其他运算符6.11.8 运算符的优先级6.12 表达式6.13 小结本章必须掌握的知识点本章需要了解的内容本章需要拓展的内容第7章 php的流程控制结构7.1 分支结构7.1.1 单一条件分支结构(if)7.1.2 双向条件分支结构(else从句)7.1.3 多向条件分支结构(elseif子句)7.1.4 多向条件分支结构(switch语句)7.1.5 巢状条件分支结构7.1.6 条件分支结构实例应用(简单计算器)7.2 循环结构7.2.1 while语句7.2.2 do…while循环7.2.3 for语句7.3 特殊的流程控制语句7.3.1 break语句7.3.2 continue语句7.3.3 exit语句7.4 小结本章必须掌握的知识点本章需要了解的内容第8章 php的函数应用8.1 函数的定义8.2 自定义函数8.2.1 函数的声明8.2.2 函数的调用8.2.3 函数的参数8.2.4 函数的返回值8.3 函数的工作原理和结构化编程8.4 php变量的范围8.4.1 局部变量8.4.2 全局变量8.4.3 静态变量8.5 声明及应用各种形式的php函数8.5.1 常规参数的函数8.5.2 伪类型参数的函数8.5.3 引用参数的函数8.5.4 默认参数的函数8.5.5 可变个数参数的函数8.5.6 回调函数8.6 递归函数8.7 使用自定义函数库8.8 小结本章必须掌握的知识点本章需要了解的内容本章需要拓展的内容第9章 php中的数组与数据结构9.1 数组的分类9.2 数组的定义9.2.1 直接赋值的方式声明数组9.2.2 使用array()语言结构新建数组9.2.3 多维数组的声明9.3 数组的遍历9.3.1 使用for语句循环遍历数组9.3.2 使用foreach语句遍历数组9.3.3 联合使用list( )、each( )和while循环遍历数组9.3.4 使用数组的内部指针控制函数遍历数组9.4 预定义数组9.4.1 服务器变量:$_server9.4.2 环境变量:$_env9.4.3 url get变量:$_get9.4.4 http post变量:$_post9.4.5 request变量:$_request9.4.6 http文件上传变量:$_files9.4.7 http cookies:$_cookie9.4.8 session变量:$_session9.4.9 global变量:$globals9.5 数组的相关处理函数9.5.1 数组的键/值操作函数9.5.2 统计数组元素的个数和唯一性9.5.3 使用回调函数处理数组的函数9.5.4 数组的排序函数9.5.5 拆分、合并、分解和接合数组9.5.6 数组与数据结构9.5.7 其他有用的数组处理函数9.6 操作php数组需要注意的一些细节9.6.1 数组运算符号9.6.2 删除数组中的元素操作9.6.3 关于数组下标的注意事项9.7 小结本章必须掌握的知识点本章需要了解的内容本章需要拓展的内容第10章 php面向对象的程序设计10.1 面向对象的介绍10.1.1 类和对象之间的关系10.1.2 面向对象的程序设计10.2 如何抽象一个类10.2.1 类的声明10.2.2 成员属性10.2.3 成员方法10.3 通过类实例化对象10.3.1 实例化对象10.3.2 对象类型在内存中的分配10.3.3 对象中成员的访问10.3.4 特殊的对象引用“$this”10.3.5 构造方法与析构方法10.4 封装性10.4.1 设置私有成员10.4.2 私有成员的访问10.4.3 __set()、__get()、__isset()和__unset()四个方法10.5 继承性10.5.1 类继承的应用10.5.2 访问类型控制10.5.3 子类中重载父类的方法10.6 常见的关键字和魔术方法10.6.1 final关键字的应用10.6.2 static关键字的使用10.6.3 单态设计模式10.6.4 const关键字10.6.5 instanceof关键字10.6.6 克隆对象10.6.7 类中通用的方法__tostring()10.6.8 __call()方法的应用10.6.9 自动加载类10.6.10 对象串行化10.7 抽象类与接口10.7.1 抽象类10.7.2 接口技术10.8 多态性的应用10.9 面向对象版图形计算器10.9.1 需求分析10.9.2 功能设计及实现10.9.3 类的组织架构10.10 小结本章必须掌握的知识点本章需要了解的内容本章需要拓展的内容第11章 字符串处理11.1 字符串的处理介绍11.1.1 字符串的处理方式11.1.2 字符串类型的特点11.1.3 双引号中变量解析总结11.2 常用的字符串输出函数11.3 常用的字符串格式化函数11.3.1 去除空格和字符串填补函数11.3.2 字符串大小写的转换11.3.3 和html标签相关的字符串格式化11.3.4 其他字符串格式化函数11.4 字符串比较函数11.4.1 按字节顺序进行字符串比较11.4.2 按自然排序进行字符串比较11.5 小结本章必须掌握的知识点本章需要拓展的内容第12章 正则表达式12.1 正则表达式简介12.1.1 选择php正则表达式的处理函数库12.2 正则表达式的语法规则12.2.1 定界符12.2.2 原子12.2.3 元字符12.2.4 模式修正符12.3 与perl兼容的正则表达式函数12.3.1 字符串的匹配与查找12.3.2 字符串的替换12.3.3 字符串的分割和连接12.4 文章发布操作示例12.5 小结本章必须掌握的知识点本章需要了解的内容本章需要扩展的内容第3部分 php常用功能模块篇第13章 php的错误和异常处理13.1 错误处理13.1.1 错误报告级别13.1.2 调整错误报告级别13.1.3 使用trigger_error()函数来替代die()13.1.4 自定义错误处理13.1.5 写错误日志13.2 异常处理13.2.1 异常处理实现13.2.2 扩展php内置的异常处理类13.2.3 捕获多个异常13.3 小结本章必须掌握的知识点本章需要了解的内容第14章 php的日期和时间14.1 unix时间戳14.1.1 将日期和时间转变成unix时间戳14.1.2 日期的计算14.2 在php中获取日期和时间14.2.1 调用getdate()函数取得日期/时间信息14.2.2 日期和时间格式化输出14.3 修改php的默认时区14.4 使用微秒计算php脚本执行时间14.5 日历类14.6 小结本章必须掌握的知识点本章需要了解的内容本章需要拓展的内容本章的学习建议第15章 文件系统处理15.1 文件系统概述15.1.1 文件类型15.1.2 文件的属性15.2 目录的基本操作15.2.1 解析目录路径15.2.2 遍历目录15.2.3 统计目录大小15.2.4 建立和删除目录15.2.5 复制目录15.3 文件的基本操作15.3.1 文件的打开与关闭15.3.2 写入文件15.3.3 读取文件内容15.3.4 访问远程文件15.3.5 移动文件指针15.3.6 文件的锁定机制15.3.7 文件的一些基本操作函数15.4 文件的上传与下载15.4.1 文件上传15.4.2 处理多个文件上传15.4.3 文件下载15.5 设计经典的文件上传类15.5.1 需求分析15.5.2 程序设计15.5.3 文件上传类代码实现15.5.4 文件上传类的应用过程15.6 小结本章必须掌握的知识点本章需要了解的内容本章需要拓展的内容本章的学习建议第16章 php动态图像处理16.1 php中gd库的使用16.1.1 画布管理16.1.2 设置颜色16.1.3 生成图像16.1.4 绘制图像16.1.5 在图像中绘制文字16.2 设计经典验证码类16.2.1 设计验证码类16.2.2 应用验证码类的实例对象16.2.3 表单中应用验证码16.2.4 实例演示16.3 php图片处理16.3.1 图片背景管理16.3.2 图片缩放16.3.3 图片裁剪16.3.4 添加图片水印16.3.5 图片旋转和翻转16.4 设计经典的图像处理类16.4.1 需求分析16.4.2 程序设计16.4.3 图像处理类代码实现16.4.4 图像处理类的应用过程16.5 小结本章必须掌握的知识点本章需要了解的内容本章需要拓展的内容第4部分 数据库开发篇第17章 mysql数据库概述17.1 数据库的应用17.1.1 数据库在web开发中的重要地位17.1.2 为什么php会选择mysql作为自己的黄金搭档17.1.3 php和mysql的合作方式17.1.4 结构化查询语言sql17.2 mysql数据库的常见操作17.2.1 mysql数据库的连接与关闭17.2.2 创建新用户并授权17.2.3 创建数据库17.2.4 创建数据表17.2.5 数据表内容的简单管理17.3 小结本章必须掌握的知识点第18章 mysql数据表的设计18.1 数据表(table)18.2 数据值和列类型18.2.1 数值类的数据列类型18.2.2 字符串类数据列类型18.2.3 日期和时间型数据列类型18.2.4 null值18.2.5 类型转换18.3 数据字段属性18.4 数据表对象管理18.4.1 创建表(create table)18.4.2 修改表(alter table)18.4.3 删除表(drop table)18.5 数据表的类型及存储位置18.5.1 myisam数据表18.5.2 innodb数据表18.5.3 如何选择innodb还是myisam表类型18.5.4 数据表的储存位置18.6 数据表的默认字符集18.6.1 字符集18.6.2 字符集支持原理18.6.3 创建数据对象时修改字符集18.7 创建索引18.7.1 主键索引(primary key)18.7.2 唯一索引(unique)18.7.3 常规索引(index)18.7.4 全文索引(fulltext)18.8 规范化18.8.1 起点18.8.2 第一范式18.8.3 第二范式18.8.4 第三范式18.8.5 规范化理论18.9 数据库的设计技巧18.9.1 数据库设计要求18.9.2 起名字的技巧18.9.3 数据库具体设计工作中的技巧18.10 小结本章必须掌握的知识点本章需要了解的内容本章需要拓展的内容第19章 sql语句设计19.1 操作数据表中的数据记录(dml)19.1.1 使用insert语句向数据表中添加数据 上一篇: 数据库技术 [张晨霞,陈嘉 编] 2013年版 下一篇: 连接的力量