书籍详情
PHP开发手册(典藏版)
作者:孙鹏程 等编著
出版社:电子工业出版社
出版时间:2011-04-01
ISBN:9787121122934
定价:¥99.00
购买这本书可以去
内容简介
《PHP开发手册(典藏版)》全面、系统地介绍了PHP实战开发方方面面的技术。内容由浅入深,从易到难,实例丰富,从PHP的基本知识到高级技术与框架操作,再到项目开发与扩展应用,几乎涉及PHP开发与应用的所有重要知识。书中的全部实例源代码都收录在本书的配书光盘中,供读者实战演练。《PHP开发手册(典藏版)》共分5篇。第1篇介绍PHP的文件系统、程序调试、异常处理、表单与JavaScript等基础应用;第2篇介绍PHP与MySQL、PostgreSQL、SQL Server以及Oracle等多种不同数据库的交互操作方法;第3篇介绍PHP的扩展库PEAR、ADOdb、FPDF、GD库的操作方法,以及目前流行的ThinkPHP、Zend Framework、CakePHP、Symfony等PHP开发框架;第4篇通过对CMS系统、OA系统、流程管理系统、资源管理系统等系统的介绍,详细讲解PHP在实际开发中的应用;第5篇介绍PHP的网络客户端、Web Service扩展应用,以及Ajax的基础知识。《PHP开发手册(典藏版)》光盘中的电子书分三篇:第1篇介绍PHP开发环境的搭建、PHP的基本语法与操作;第2篇介绍PHP的面向对象操作及类的开发实例;第3篇介绍PHP服务器环境的硬件知识与服务器维护策略。读者对象:本书无论是对初学PHP应用程序的开发人员,还是对PHP应用程序开发有一定经验的开发人员,都会有很大的帮助。对于经常使用PHP的程序员,本书也是一本不可多得的案头必备参考书。
作者简介
孙鹏程,高级软件工程师。现任职于IBM美国总部公司,担任IBM官方网站IBM Austin Site的构架师。长期从事PHP系统开发,对PHP有系统而深入的研究,专注于CMS应用系统的构建,用PHP开发过多个大型网站。
目录
第1篇 PHP的基础知识
第1章 文件系统与文本数据操作
在程序设计中,文件是一个很重要的对象,Web编程也不例外。文件的操作在很多Web系统中一直都是被反复用到的。在实际应用中经常会遇到对文件和目录的创建、修改、删除等操作。本章将主要介绍如何使用PHP对文件系统以及文本数据进行操作。
1.1 PHP中目录操作详解
1.1.1 打开目录
1.1.2 关闭目录
1.1.3 读取目录中的文件
1.1.4 创建目录
1.1.5 删除目录
1.2 PHP中文件操作详解
1.2.1 打开文件
1.2.2 关闭文件
1.2.3 读取文件
1.2.4 写入文件
1.2.5 删除文件
1.2.6 复制文件
1.3 本地文件的操作实例--小型留言本
1.3.1 留言发表模块
1.3.2 浏览模块
1.4 远程文件的操作实例
1.5 文件的上传与下载
1.5.1 文件的上传
1.5.2 文件的下载
1.6 小结
第2章 字符的处理与正则表达式
在PHP中,对于字符的处理是一个很重要的部分,很多应用中都包含有字符处理的功能,而正则表达式则是有效地处理一些复杂字符操作的便利方式。本章将重点介绍PHP中的一些常见字符处理操作及正则表达式的应用。
2.1 字符类型的特殊性
2.2 字符的显示与格式化
2.2.1 字符的显示
2.2.2 字符的格式化
2.3 常见的操作
2.3.1 字符串重复操作--str_repeat
2.3.2 字符串替换操作--str_replace和str_ireplace
2.3.3 字符串分解操作--str_split
2.3.4 字符串单词数的计算函数--str_word_count
2.3.5 字符串查找操作--strstr
2.3.6 获得字符串长度--strlen
2.3.7 获得字符串子串--substr
2.4 正则表达式简介
2.5 正则表达式与字符操作综合应用
2.5.1 获得与模式匹配的数组单元--preg_grep
2.5.2 进行全局正则表达式匹配--preg_match_all
2.5.3 进行正则表达式匹配--preg_match
2.5.4 转义正则表达式字符--preg_quote
2.5.5 执行正则表达式的搜索和替换的函数--preg_replace
2.5.6 通过回调函数执行正则表达式的搜索和替换--preg_replace_callback
2.5.7 用正则表达式进行字符串分割--preg_split
2.6 字符操作的注意事项
2.7 小结
第3章 数组操作与数据结构算法
数组是一个由若干同类型变量组成的集合,引用这些变量时可用同一名字。数组中的每一个变量都叫做数组的一个元素。在开发中,数组有广泛的用途。本章将对数组及一些数组的使用技巧作详细讲解。
3.1 一维数组与多维数组
3.1.1 一维数组简介
3.1.2 多维数组简介
3.2 常用的数组操作
3.2.1 数组的创建与调用
3.2.2 数组的更新
3.2.3 数组元素的遍历
3.3 数组索引与键值的操作技巧
3.4 数组的排序
3.4.1 递增排序--sort
3.4.2 递减排序--rsort
3.4.3 数组排序--array_multisort
3.5 几种数组的应用实例
3.5.1 顺序查找
3.5.2 二分法查找
3.5.3 使用array_search函数进行查找
3.5.4 线性表的入栈与出栈
3.5.5 数组的合并
3.5.6 数组的拆分
3.5.7 随机排序
3.6 小结
第4章 PHP程序调试
在PHP的编写过程中,错误是不可避免的,如何有效地调试并修复错误是一个程序员必备的一种能力。PHP提供了很好的错误提示,并且通过与Eclipse工具结合可以很方便地进行程序调试。本章将对PHP中的错误类型和程序调试方法进行详细讲解。
4.1 PHP中的错误类型
4.1.1 语法错误
4.1.2 语义错误
4.1.3 逻辑错误
4.1.4 注释错误
4.1.5 运行时错误
4.2 PHP程序调试策略
4.2.1 PHP的错误级别
4.2.2 打开PHP的错误报告
4.2.3 使用print进行程序调试
4.3 使用PHPEclipse进行PHP程序调试
4.3.1 使用Eclipse编写PHP程序的好处
4.3.2 PHPEclipse的安装与启动
4.3.3 PHPEclipse的使用
4.3.4 PHPEclipse的语法错误强调功能
4.3.5 PHPEclipse的调试界面
4.3.6 使用PHPEclipse调试PHP代码的常见问题
4.4 错误的处理
4.4.1 错误的隐藏
4.4.2 错误信息的定制
4.4.3 超时错误的处理
4.5 小结
第2篇 PHP面向对象
第5章 PHP中的异常处理
上一章介绍了如何调试PHP中的错误,这些错误通常是在实际编程中因为程序员的失误或者设计错误造成的。在实际运行过程中,往往还可能存在一些环境错误。例如,文件无法找到或者数据库无法打开等。这些环境错误当然可以通过if语句的判断来识别。但是,PHP还提供了一种更好的异常处理方法,可以有效地解决因为环境错误带来的异常。本章将主要介绍PHP中的异常处理方法。
5.1 异常处理的原理
5.2 PHP中的异常处理
5.2.1 异常类Exception
5.2.2 异常抛出关键字throw
5.2.3 异常捕获语句try-catch
5.2.4 异常处理函数设置set_exception_handler
5.2.5 完整的异常信息
5.3 扩展的异常处理类
5.4 异常的传递与重掷
5.5 小结
第6章 PHP与表单
在Web应用程序的开发中,通常使用表单来实现程序与用户输入的交互。用户通过在表单上输入数据,将一些信息传输给网站的程序以进行相应的处理。当用户在Web页面中的表单内填写好信息以后,可以通过单击按钮或链接来实现数据的提交。本章将主要介绍PHP中表单的应用,PHP程序通过接收用户在表单中输入的信息实现与用户的交互。
6.1 HTML表单简介
6.1.1 表单标签form
6.1.2 输入标签input与文本框
6.1.3 按钮
6.1.4 单选框与复选框
6.1.5 多行文本域标签textarea
6.1.6 下拉框与列表框标签select
6.2 表单数据的接收
6.2.1 GET方法
6.2.2 POST方法
6.3 常用表单数据的验证方法
6.3.1 姓名验证
6.3.2 日期验证
6.3.3 E-mail地址验证
6.3.4 密码字段的验证
6.3.5 改进的用户信息输入程序
6.4 URL编码解码函数
6.4.1 编码字符串--urlencode
6.4.2 解码字符串--urldecode
6.5 小结
第7章 PHP与JavaScript交互
前面几章介绍了如何使用PHP语言来实现一些基本操作。PHP是一种后台语言,在执行时会将PHP程序的运行结果以静态HTML的形式返回给客户端。也就是说,在客户端并不能看见PHP代码。本章将要介绍一种流行的在客户端执行的前台编程语言--JavaScript。在实际应用中,往往会结合应用后台语言和前台语言以实现一些需要的功能。
7.1 JavaScript简介
7.2 JavaScript的数据类型
7.3 JavaScript程序设计基础
7.3.1 在HTML中嵌入JavaScript
7.3.2 变量
7.3.3 注释
7.3.4 函数的定义与调用
7.3.5 条件语句
7.3.6 循环语句
7.3.7 对象
7.3.8 事件
7.4 PHP动态生成JavaScript代码
7.4.1 多行输出
7.4.2 单行输出
7.4.3 PHP动态生成JavaScript实例--进度条
7.5 JavaScript中调用PHP程序
7.5.1 页面的跳转
7.5.2 隐性调用PHP程序
7.6 JavaScript和PHP综合实例--表单验证
7.6.1 表单设计
7.6.2 JavaScript代码设计
7.6.3 PHP代码设计
7.6.4 代码的运行
7.7 小结
第8章 关系型数据库的基础知识
在第一篇中,介绍了PHP的各种基本应用。从本章开始,将介绍PHP与数据库的结合使用。本章将主要介绍一些关系型数据库的基础知识。
8.1 关系型数据库与关系型数据库系统的介绍
8.2 关系型数据库系统的结构与运行过程
8.2.1 关系型数据库系统的层次结构
8.2.2 关系型数据库系统的运行过程
8.3 常用关系型数据库的介绍
8.3.1 MySQL
8.3.2 ORACLE
8.3.3 SYBASE
8.3.4 DB2
8.3.5 SQL Server
8.4 SQL语言简介
8.5 常见数据库设计问题
8.6 关系型数据库的设计原则
8.6.1 第一范式(1NF)
8.6.2 第二范式(2NF)
8.6.3 第三范式(3NF)
8.7 数据库设计的方法与步骤
8.7.1 需求分析
8.7.2 概念设计的E-R方法
8.7.3 数据库逻辑设计方法
8.7.4 物理设计阶段
8.7.5 数据库实施阶段
8.7.6 数据库运行和维护阶段
8.8 小结
第3篇 PHP基础应用
第9章 MySQL的安装与操作
上一章对数据库管理系统的基本特点作了一些简要介绍,并且介绍了常见的几款关系型数据库系统,MySQL就是其中之一。在与PHP的应用中,MySQL是最常用到的一款。本章将主要介绍如何安装和配置MySQL数据库服务器,并对MySQL数据库服务器的一些常见操作加以介绍。
9.1 MySQL数据库服务器介绍
9.2 安装与配置
9.2.1 下载MySQL
9.2.2 MySQL的安装
9.2.3 MySQL的配置
9.2.4 MySQL的启动与关闭
9.3 数据库与表的创建
9.3.1 登录与退出MySQL命令行管理模式
9.3.2 MySQL的数据库操作
9.3.3 表的创建
9.4 数据类型的介绍
9.5 索引与唯一值的介绍
9.6 数据的操作
9.6.1 表的修改
9.6.2 表的删除
9.6.3 数据的查询
9.6.4 数据的插入
9.6.5 数据的更新
9.6.6 数据的删除
9.7 小结
第10章 MySQL与PHP的应用
上一章介绍了如何通过MySQL命令行对MySQL数据库进行操作。在PHP中,使用MySQL扩展来实现对MySQL数据库的操作。其基本操作方法与在命令行上进行操作大致相同,只是操作命令都是写到PHP脚本中来完成的。本章将介绍如何使用PHP对数据库操作,并具体介绍PHP与MySQL的结合使用。
10.1 PHP结合数据库应用的优势
10.2 Web数据库的工作原理
10.3 使用PHP操作MySQL数据库
10.3.1 数据库服务器的连接与断开
10.3.2 选择数据库
10.3.3 执行SQL语句
10.3.4 获得查询结果集中的记录数
10.3.5 获得结果集中的某一条记录
10.3.6 逐行获取结果集中的每一条记录
10.3.7 结果集的分页
10.3.8 用户动态添加记录
10.3.9 用户动态更新记录
10.3.10 用户动态删除记录
10.4 使用PHP获取MySQL数据库的信息
10.4.1 获取数据库的信息
10.4.2 获取表的信息
10.4.3 获取列的数目
10.4.4 获取列的名称
10.4.5 获取列的数据类型
10.4.6 获取列的长度
10.4.7 获取列的标志
10.4.8 一个完整的查看表中各列属性的实例
10.5 常见问题与解决方案
10.6 小结
第11章 数据库中的程序逻辑
上一章介绍了使用PHP对MySQL数据库进行存取,在一般性的应用中,使用PHP直接对数据库进行存取的方法应用非常广泛。有时候,一些基本的数据库应用可能会被反复用到。如果使用PHP反复执行这一相同操作,不仅麻烦而且会影响代码的运行效率。
因此,在某些时候,对于一些小型并且频繁使用的数据库操作,可以将其交给数据库来完成。本章将以MySQL数据库为例,介绍如何在数据库中实现这些程序逻辑。
11.1 数据库程序逻辑与PHP程序逻辑的分体设计原则
11.2 数据库程序逻辑与数据的关系
11.3 存储过程的设计
11.3.1 定界符重定义
11.3.2 存储过程的创建与调用
11.3.3 存储过程的参数
11.3.4 复合语句
11.3.5 变量
11.3.6 条件语句
11.3.7 循环语句
11.3.8 游标
11.3.9 存储过程的删除
11.4 触发器的设计
11.4.1 触发器的创建与触发
11.4.2 触发器的删除
11.5 PHP与存储过程、触发器
11.5.1 PHP调用存储过程
11.5.2 PHP调用触发器
11.6 小结
第12章 Session与Cookie
在数据库应用中,难免会涉及用户登录功能的编写。在一些系统中,往往也需要识别用户的身份。因此,Session与Cookie是Web应用特别是数据库应用中不可或缺的两个要素。正是由于Session和Cookie的存在才使页面间信息的安全传递成为可能。本章将结合数据库的使用实例来介绍PHP中Session和Cookie的应用。
12.1 Session与Cookie简介
12.2 PHP中Session的实现
12.2.1 标识开始使用Session
12.2.2 Session预定义数组
12.2.3 Session的检测与注销
12.2.4 PHP中Session处理的定制
12.3 Session应用实例--登录验证
12.3.1 数据库设计
12.3.2 HTML表单的设计
12.3.3 验证页面的编写
12.3.4 欢迎页面的编写
12.3.5 注销页面的编写
12.3.6 代码的运行
12.3.7 代码的改进
12.4 PHP中Cookie的实现
12.4.1 Cookie语法格式
12.4.2 Cookie预定义数组
12.4.3 创建一个Cookie
12.4.4 创建一个有时间限制的Cookie
12.4.5 创建一个有范围限制的Cookie
12.4.6 删除Cookie
12.4.7 浏览器重定向
12.4.8 Cookie的常见问题
12.5 Cookie应用实例--登录验证
12.5.1 HTML表单的设计
12.5.2 验证页面的编写
12.5.3 欢迎页面的编写
12.5.4 注销页面的编写
12.5.5 代码的运行
12.6 Cookie与Session的比较
12.7 小结
第13章 MySQL与PHP的应用实例--留言本
在前面几章中,介绍了MySQL与PHP结合使用的方法,以及如何在PHP中使用Session和Cookie。本章将从一个PHP留言本的整体设计入手,详细介绍在实际应用中如何使用PHP结合MySQL开发基于Web的应用程序。
13.1 留言本实例的系统分析
13.1.1 系统简介
13.1.2 系统模型设计
13.1.3 数据库设计
13.1.4 公共功能设计
13.2 使用MySQL与PHP创建一个留言本
13.2.1 查看留言功能
13.2.2 发表留言功能
13.2.3 管理员身份验证功能
13.2.4 管理首页设计
13.2.5 留言回复功能
13.2.6 留言删除功能
13.2.7 留言回复删除功能
13.2.8 留言审批功能
13.2.9 退出管理员登录功能
13.3 小结
第14章 PostgreSQL与PHP的应用
前面几章对MySQL数据库系统与PHP的应用作了一些详细介绍。本章将向读者介绍另外一种常与PHP结合使用的数据库系统PostgreSQL。通过学习本章,读者将不仅掌握一些PostgreSQL的常用操作方法,也将对如何使用PHP操作PostgreSQL有一个初步的了解。
14.1 PostgreSQL简介
14.2 PostgreSQL的安装
14.2.1 PostgreSQL的下载
14.2.2 PostgreSQL的安装
14.2.3 PostgreSQL服务的启动与停止
14.3 PostgreSQL的基本操作
14.3.1 pgAdmin III的启动
14.3.2 服务器的连接
14.3.3 创建一个新数据库
14.3.4 创建一个表
14.3.5 对表中数据的操作
14.3.6 SQL语句的执行
14.4 使用PHP存取PostgreSQL数据库
14.4.1 使用PHP的PostgreSQL扩展
14.4.2 数据库的连接与关闭
14.4.3 执行SQL语句
14.4.4 获得查询结果集中的记录数
14.4.5 逐行获取结果集中的每一条记录
14.4.6 数据的插入、更新和删除
14.4.7 执行动态SQL语句
14.4.8 information_schema
14.5 小结
第15章 SQL Server与PHP的应用
前面两章对PHP与MySQL和PostgreSQL数据库服务器的连接进行了简单介绍。在实际应用中,由于MySQL和PostgreSQL的大型数据处理能力比较差,因而往往使用较大型的数据库系统进行部署。SQL Server就是微软推出的一款适合较大型系统使用的数据库服务器软件。本章将对SQL Server与PHP的应用进行介绍。
15.1 SQL Server简介
15.2 SQL Server的安装
15.2.1 SQL Server的安装
15.2.2 SQL Server Management Studio
15.3 SQL Server的基本操作
15.3.1 创建一个数据库
15.3.2 创建一个表
15.3.3 对表中数据的操作
15.3.4 SQL语句的执行
15.4 使用PHP存取SQL Server数据库
15.4.1 使用PHP的mssql扩展
15.4.2 数据库的连接与关闭
15.4.3 执行SQL语句
15.4.4 获得查询结果集中的记录数
15.4.5 逐行获取结果集中的每一条记录
15.5 小结
第4篇 PHP与数据库
第16章 Oracle与PHP的应用
上一章介绍了SQL Server与PHP的应用。与SQL Server类似,Oracle是甲骨文公司推出的一款大型数据库管理系统。在实际应用中,Oracle具有更高的数据处理和管理能力。因此,Oracle受到了很多大型企业的青睐。本章将介绍Oracle的基本操作以及与PHP的应用。
16.1 Oracle简介
16.2 Oracle的安装
16.2.1 Oracle的安装
16.2.2 Oracle Application Express
16.3 Oracle的基本操作
16.3.1 创建一个表
16.3.2 对表中数据的操作
16.3.3 SQL语句的执行
16.4 使用PHP存取Oracle数据库
16.4.1 使用PHP的oci8扩展
16.4.2 数据库的连接与关闭
16.4.3 执行SQL语句
16.4.4 逐行获取结果集中的每一条记录
16.5 小结
第17章 不同数据库的差异
目前市场上流行的数据库有很多种,虽然这些数据库在开发时遵循同样的一个标准,但是,每种数据库都有一些与其他同类产品不一样的地方。本章将主要介绍不同种数据库间的差异,并对PHP与不同数据库的操作上的差异作一些介绍。
17.1 SQL语言标准以及常见关系型数据库的SQL扩展
17.1.1 ANSI SQL语言标准
17.1.2 MySQL对ANSI SQL的扩充
17.1.3 SQL Server的T-SQL
17.1.4 Oracle的PL/SQL
17.2 PHP数据库应用的差异
17.2.1 MySQL与PHP的应用
17.2.2 PostgreSQL与PHP的应用
17.2.3 SQL Server与PHP的应用
17.2.4 Oracle与PHP的应用
17.2.5 SQLite与PHP的应用
17.2.6 Access与PHP的应用
17.2.7 ODBC与PHP的应用
17.3 小结
第18章 PEAR、PECL的应用
本书前面的章节介绍了PHP的基本使用以及与数据库结合的实例。通过对前面的学习,读者应该能够使用PHP设计并实现一些常见的功能了。很多时候,并不需要自己逐行完成应用中的所有代码,因为很多常见的功能可能早已被人开发出来了。如果能够有效地利用这些资源,就能在实际开发中达到事半功倍的效果。本章将介绍的PEAR与PECL就是这样的资源库。
18.1 PEAR与PECL的介绍
18.2 PEAR类库组件的安装
18.3 PEAR类库的安装与使用
18.3.1 查看已安装PEAR包
18.3.2 查看PEAR包的详细信息
18.3.3 安装一个PEAR包
18.3.4 PEAR包的升级
18.3.5 PEAR包的使用
18.4 常用的PEAR类库实例
18.4.1 使用DB类库进行数据库查询
18.4.2 使用Auth_HTTP类库进行身份校验
18.4.3 使用HTML_Template_IT类库进行模板替换
18.5 PECL扩展库的安装与使用
18.6 PECL扩展库应用实例--Zip扩展
18.6.1 Zip扩展的安装
18.6.2 一个Zip扩展应用实例
18.7 小结
第19章 ADOdb类库应用
本书第2篇介绍了PHP与MySQL等几种常用数据库的结合使用。PHP提供了多种数据库访问组件来访问不同类型的数据库。PHP的这种机制为PHP程序员制造了很多麻烦,为了访问不同种类的数据库,不得不记住多种多样的数据库存取函数。而本章将要介绍的ADOdb类库则有效地解决了这个问题。ADOdb类库通过对不同数据库的差异封装,可使PHP应用可以轻松地在不同的数据库之间进行切换。
19.1 ADOdb介绍
19.1.1 ADOdb的优势
19.1.2 ADOdb的适用场合
19.2 ADOdb类库的安装与配置
19.2.1 ADOdb的下载与安装
19.2.2 ADOdb的第一个测试程序
19.3 ADOdb的常用数据库操作
19.3.1 连接数据库
19.3.2 数据的插入、更新和删除
19.3.3 数据查询
19.3.4 记录分页的实现
19.3.5 多个数据库的连接方法
19.4 ADOdb的程序调试
19.5 小结
第20章 FPDF类库应用
PDF文档格式是当前流行的电子文档与电子表格的一种标准格式。PDF提供了完善的压缩处理,无论创建者创建的PDF文档使用了什么字体,使用了什么样的图片或者版式设计,浏览者都可以通过免费的Adobe Reader对其进行阅读。本章将要介绍的是一个可以用PHP创建PDF文档的类库FPDF。
20.1 FPDF简介
20.2 FPDF的安装与配置
20.3 FPDF创建PDF文档
20.3.1 FPDF创建Hello World
20.3.2 在PDF中插入图片
20.3.3 页眉与页脚
20.3.4 绘制表格
20.4 为FPDF增加中文支持
20.5 FPDF的实际应用
20.5.1 为文章系统创建PDF页面
20.5.2 动态生成企业产品名录
20.6 小结
第21章 PHP的缓存与静态化应用
前面已经介绍了许多PHP应用的例子,这些例子无一例外是通过访问PHP脚本文件来完成的。用户每次在浏览器端的访问都是对PHP脚本的执行过程,程序根据用户的需要返回信息。对于一些大型系统,访问量往往很大,频繁的动态操作与数据库操作大大加重了服务器的负担。
在这种情况下,通常使用缓存技术或者静态化操作。也就是将PHP脚本的页面结果放到缓存中,或者放到静态HTML文件中。这样,访问者在访问页面时,不必重新执行动态PHP代码即可获得结果,可大大缓解服务器的负担。本章将介绍缓存机制与静态化的原理,以及使用PHP实现静态化的方法。
21.1 为什么要静态化
21.2 大型应用的缓存机制与静态化
21.2.1 缓存机制
21.2.2 静态化机制
21.3 PHP如何实现静态化
21.3.1 根据模板生成静态页面
21.3.2 数据库与静态页的关系
21.3.3 静态页内容的修改
21.3.4 模板的替换
21.3.5 静态页上的动态操作
21.3.6 静态页面文件的目录
21.4 小结
第22章 PHP与XML格式操作
XML是一种流行的半结构化文件格式,以一种类似数据库的格式存储数据。在实际应用中,一些简单的、安全性较低的数据往往使用XML文件的格式进行存储。这样做一方面可以通过减少与数据库的交互性操作提高读取效率,另一方面可以有效利用XML的优越性降低程序的编写难度。
PHP提供了一整套的读取XML文件的方法,很容易就可以编写基于XML的脚本程序。本章将介绍PHP与XML的操作方法,并对几个常用的XML类库作一些简要介绍。
22.1 XML简介
22.2 简单的XML操作
22.2.1 创建一个SimpleXML对象
22.2.2 读取SimpleXML对象中的XML数据
22.2.3 XML数据的修改
22.2.4 标准化XML数据
22.2.5 XML数据的存储
22.3 XML文档的动态创建
22.3.1 DOM简介
22.3.2 DOM文档的创建与使用
22.3.3 DOM元素的操作
22.3.4 DOM节点的操作
22.3.5 DOM组件操作实例
22.4 XSLT的使用
22.4.1 XSLT简介
22.4.2 使用PHP与XSLT生成HTML页面
22.5 XML应用实例一--留言本
22.5.1 XML文件结构设计
22.5.2 提交页面的编写
22.5.3 显示页面的编写
22.6 XML应用实例二--为网站生成RSS页面
22.6.1 什么是RSS
22.6.2 RSS页面的编写
22.7 小结
第23章 Smarty类库
前面的章节介绍了很多在HTML页面中内嵌PHP代码的例子。随着Web技术的不断发展,很多Web程序员已经不再满足于这种在HTML页面中内嵌PHP代码的方法。因为这样做的一个很大弊端是为后期维护带来了很多麻烦,程序员不得不修改PHP代码来迎合页面设计的改动。
本章要介绍的Smarty类库有效地解决了这一问题。Smarty类库通过建立模板库来存放静态HTML页面中的HTML代码,并使用PHP代码对其中的元素进行赋值。这样,当页面的设计发生变化时,只需要修改模板页面就可以了。
23.1 Smarty简介
23.2 Smarty的安装与配置
23.2.1 Smarty的安装
23.2.2 Smarty的配置
23.3 Smarty程序设计
23.3.1 简单的Smarty程序设计
23.3.2 模板对象属性的定义
23.3.3 Smarty程序编写的一般步骤
23.4 Smarty模板设计
23.4.1 模板中的变量
23.4.2 变量的修饰
23.4.3 区域循环方法
23.4.4 模板中的条件判断
23.4.5 外部文件的载入
23.5 Smarty的实际应用--多模板网站
23.5.1 模板的设计
23.5.2 页面实现
23.6 小结
第24章 ThinkPHP框架
上一章介绍了使用Smarty类库进行应用系统开发。Smarty使用模板构架有效地分离了代码与页面,当页面发生变化的时候,程序员并不需要修改代码。本章将要介绍另外一种基于模板的开发框架--ThinkPHP框架。
ThinkPHP框架是近两年刚刚发展起来的一个PHP应用开发框架。该框架借鉴了很多优秀框架的经验和模式,使用最通用的MVC构架和面向对象理念,是一款可以实现网站快速开发的优秀的轻量级框架。
24.1 ThinkPHP的安装与项目创建
24.1.1 ThinkPHP的获取与安裝
24.1.2 项目入口文件
24.1.3 项目的创建
24.2 项目的配置
24.3 控制器类的创建
24.3.1 控制器的模块与操作
24.3.2 URL的处理
24.4 模型类的创建
24.4.1 模型的定义与实例化
24.4.2 数据库的连接与操作
24.5 模板文件的编写
24.5.1 模板中的变量
24.5.2 模板中函数的使用
24.5.3 几种基本标签的使用
24.6 ThinkPHP应用实例--在线日程表
24.6.1 数据库的设计
24.6.2 模板的设计
24.6.3 控制器的实现
24.7 小结
第25章 Zend Framework框架
随着Web技术的发展,传统的编程模式已经越来越不能满足日益快速的技术发展。近些年来,一些致力于整合功能的框架技术蓬勃发展起来。上一章介绍的ThinkPHP框架是一个可以满足基本需要的轻量级框架。而由Zend公司构建的框架Zend Framework则更适合大型系统的开发。本章将简要介绍Zend Framework的使用方法。
25.1 Zend Framework的安装与项目创建
25.2 dispatcher与Bootstrap
25.3 控制器程序的编写
25.3.1 首页控制器程序的编写
25.3.2 其他页面控制器程序的编写
25.4 视图文件的调用
25.4.1 默认视图文件的使用
25.4.2 模板文件的调用
25.5 数据模型的生成
25.5.1 数据库的连接
25.5.2 数据模型的创建
25.5.3 数据模型的使用
25.6 用户表单的处理
25.6.1 用户表单的生成
25.6.2 表单数据的验证与过滤
25.7 Zend Framework应用实例--留言本
25.8 小结
第5篇 PHP与数据库
第26章 CakePHP框架
CakePHP是近两年来新生的一款开源的PHP框架。该框架的设计理念来自Ruby的Rails框架,使PHP程序员可以比较迅速地创建Web应用程序。CakePHP框架使用了MVC体系结构,同时兼容PHP 4和PHP 5,并且拥有很灵活的数据模型与权限管理机制。因此,近年来CakePHP受到了越来越多PHP程序员的关注与青睐。CakePHP的最新版本为1.3.0,本章将以该版本为例简要介绍CakePHP的使用方法。
26.1 CakePHP的安装与配置
26.2 Scaffolding简介
26.3 CakePHP的数据模型
26.3.1 数据模型的定义
26.3.2 数据的查询
26.3.3 数据的保存
26.3.4 数据的删除
26.3.5 对象的关联
26.4 控制器的编写
26.4.1 控制器的基本使用
26.4.2 控制器的属性与方法
26.5 视图的调用
26.5.1 视图的布局
26.5.2 视图的元素
26.5.3 视图的缓存
26.6 ACL权限控制
26.6.1 什么是ACL
26.6.2 使用配置文件定义权限
26.6.3 使用数据库定义权限
26.7 CakePHP应用实例--员工工资单
26.7.1 登录框与权限控制
26.7.2 工资单页面的编写
26.8 小结
第27章 Symfony框架
前面几章介绍了几种常见的PHP开发框架。本章将继续介绍另一种近几年流行起来的新的开发框架Symfony。Symfony框架也是一款基于MVC架构的框架,并且使用到了一些其他PHP开源项目的部分代码以增强其功能。因此,近年来Symfony受到了越来越多大型项目的青睐。Symfony框架的最新版本为1.4.3,本章将以该版本为例简要介绍Symfony的使用方法。
27.1 Symfony的安装
27.2 开始一个新项目
27.3 Symfony的数据模型
27.3.1 Schema的编写
27.3.2 数据模型初始化
27.4 控制器与视图
27.4.1 项目的基本构架
27.4.2 视图的布局
27.4.3 控制器与模板
27.5 管理生成器
27.5.1 管理后台的生成
27.5.2 管理后台的配置
27.6 Symfony应用实例--个人博客
27.7 小结
第28章 PHP与图像操作
PHP不仅可以用来生成HTML页面,还可以用来创建和操作二进制文件,例如图片。使用PHP程序动态生成图片可以实现生成缩略图、验证码等多种功能,在实际应用中很常用。在PHP中,通常使用GD库来实现对图像的操作。本章将介绍如何使用GD库来操作图像文件。
28.1 PHP图像函数库简介
28.2 GD库的配置
28.3 一个简单图像创建程序
28.4 GD库的应用实例
28.4.1 使用GD库创建图片缩略图
28.4.2 使用GD库生成验证码
28.4.3 使用GD库下载远程图片
28.4.4 使用GD库为页面增加水印
28.5 小结
第29章 JpGraph创建统计图
上一章介绍了如何使用GD库来创建图像。使用GD库提供的各种函数可以生成多种图像,但是,如果需要在PHP中创建一些统计图,使用GD库就显得很麻烦了。本章将要介绍一种专门用于输出统计图的JpGraph库。该库在数据统计等方面有很大优势。在实际应用中,可以很容易使用JpGraph生成大方得体的统计图。
29.1 JpGraph简介
29.2 JpGraph的安装与配置
29.2.1 JpGraph的安装
29.2.2 JpGraph的配置
29.3 JpGraph绘制统计图实例
29.3.1 简单的X-Y坐标图
29.3.2 改进的X-Y坐标图
29.3.3 柱形图
29.3.4 饼图
29.3.5 3D饼图
29.4 JpGraph应用实例--工厂销量查询系统
29.5 小结
第30章 PHP访问LDAP服务器
LDAP的全称是"轻量级目录访问协议(Lightweight Directory Access Protocol)",是一种简单的目录协议。所谓目录,是一种专门的数据库,可以服务于任何应用程序。在企业应用中使用LDAP可以让企业范围内的所有应用程序从LDAP目录中获取信息,使应用程序可以通过网络直接从LDAP目录获取信息,而不再局限于操作系统与服务器的类型。本章将主要介绍如何使用PHP来访问LDAP。
30.1 LDAP简介
30.2 LDAP服务器的安装与配置
30.2.1 OpenLDAP的安装
30.2.2 OpenLDAP的配置
30.2.3 OpenLDAP的启动与关闭
30.2.4 OpenLDAP的数据操作
30.2.5 phpLDAPadmin简介
30.3 PHP中LDAP扩展的配置
30.4 PHP与LDAP的相关操作
30.4.1 连接LDAP服务器
30.4.2 绑定LDAP服务器
30.4.3 断开LDAP服务器
30.4.4 查询LDAP目录内容
30.4.5 获得查询结果中的值
30.4.6 计算查询结果中的记录数
30.4.7 向LDAP添加一条新记录
30.4.8 更新LDAP中的一条记录
30.4.9 从LDAP中删除一条新记录
30.4.10 错误处理
30.5 使用LDAP验证用户身份
30.6 小结
第31章 PHP与邮件系统
在实际应用中,通常需要使用邮件系统来与网站的访问者交流。例如,一个网站的新注册用户可以通过邮件来获取注册确认信息,也可以通过邮件来找回密码等。因此,在一些常见的网站系统中,往往包含邮件发送的功能。本章将介绍如何使用PHP来发送邮件。
31.1 PHP邮件发送功能配置
31.1.1 PHP中的SMTP功能配置
31.1.2 建立自己的SMTP服务器
31.2 PHP中的mail函数
31.2.1 简单的邮件发送方法
31.2.2 发送HTML格式文本
31.2.3 发送带附件的邮件
31.3 一个简单的邮件发送类
31.3.1 邮件发送类的创建
31.3.2 邮件发送系统的实现
31.4 小结
第32章 PHP优化器与加速器
PHP代码在运行时是通过编译器首先编译成中间代码,然后再被服务器运行得到用户所需要的结果。因此,中间代码的优劣直接决定了代码的最终运行速度。目前,有一些常见的PHP加速器可以通过对中间代码进行优化来提高PHP代码的运行速度。这样,网站的访问者就可以更快地打开网页。
本章将介绍几款常见的PHP加速器,读者可以根据实际情况选择其中的一款安装,从而有效地提高PHP的运行效率。
32.1 优化器Zend Optimizer
32.1.1 Zend Optimizer的安装
32.1.2 Zend Optimizer的配置
32.2 加速器PHP Accelerator
32.2.1 PHP Accelerator的安装
32.2.2 PHP Accelerator的配置
32.3 开源的优化器Turck MMCache
32.3.1 Turck MMCache的安装
32.3.2 Turck MMCache的配置
32.4 开源的加速器eAccelerator
32.5 小结
第33章 用PHP构建内容管理系统CMS
CMS是"内容管理系统(Content Management System)"的缩写,任何基于内容的网站系统都可以称为CMS。例如,文章管理、图片管理以及综合网站管理程序都是CMS的典型实现。一般的CMS系统都是基于模板设计,网站开发人员可以通过简单地修改模板的设计快速实现网站所需功能。本章将以一个简单的文章管理程序为例,说明如何开发一个CMS系统。
33.1 了解CMS需求
33.2 数据库设计
33.3 关键技术的实现
33.3.1 数据库连接公用代码
33.3.2 网站开关的设计
33.3.3 模板更换机制
33.3.4 HTML编码转换
33.4 页面代码设计
33.4.1 首页的实现
33.4.2 注册页面的实现
33.4.3 分类文章列表页面与文章显示页面的实现
33.4.4 投稿页面与添加新文章页面的实现
33.4.5 文章管理页面的实现
33.4.6 文章类别维护页面的实现
33.4.7 网站参数配置页面的实现
33.4.8 网站模板管理页面的实现
33.4.9 退出登录页面的实现
33.5 小结
第34章 用PHP构建搜索引擎
互联网时代是一个信息爆炸的时代,面对着信息高速膨胀的互联网,怎样快捷有效地得到自己所需要的信息成为了一个关键的课题。于是,各种各样的搜索引擎在互联网上诞生了出来,例如,Google、Yahoo和百度等,都是流行的搜索引擎。这些搜索引擎已经逐渐成为人们生活不可或缺的一部分。
本章将要介绍如何使用PHP来进行信息搜索,以及调用这些现有的搜索引擎进行搜索。
34.1 PHP对数据库数据的搜索
34.1.1 数据库创建
34.1.2 搜索页面的设计
34.1.3 内容显示页面的设计
34.1.4 系统集成的调度策略
34.2 PHP对文本文件的搜索
34.3 PHP对现有搜索引擎的调用
34.4 小结
第35章 PHP与企业办公自动化OA系统
OA是办公自动化(Office Automation)的缩写。OA系统是基于Internet或Intranet的概念、以企业工作流为基础构建的办公自动化系统。OA系统能够有效地对企业信息进行管理,并且在企业内部共享信息。OA系统的存在改变了过去复杂低效的办公模式,使办公管理和决策变得更加简单。本章将以一个简单的OA系统为例来介绍如何使用PHP开发OA系统。
35.1 了解企业OA系统的需求
35.2 数据库设计
35.3 关键技术的实现
35.3.1 根据登录用户的权限进入不同的页面
35.3.2 项目与任务状态的级联更新
35.4 页面代码的设计
35.4.1 公共数据库连接代码
35.4.2 登录页面的设计
35.4.3 管理员/经理项目列表页面的设计
35.4.4 创建新项目页面的设计
35.4.5 项目修改页面的设计
35.4.6 普通员工任务列表页面的设计
35.4.7 新账号分配页面的设计
35.4.8 账号权限设置页面的设计
35.4.9 过期项目统计页面的设计
35.4.10 经理项目分配情况统计页面的设计
35.4.11 员工任务分配情况统计页面的设计
35.4.12 公司项目运营情况统计页面的设计
35.5 小结
第36章 PHP与流程管理系统
上一章介绍了如何使用PHP构建一个简单的OA系统。在企业的日常工作中,往往需要遵循一些流程来工作。例如,报销发票的流程可以是报销人提出申请→相关经理批准→财务主管批准→支付报销金额给报销申请人等。流程管理系统可以简单地实现对流程中各个过程进行追踪并提示相关人员完成流程中相应的步骤。本章将以一个设备维修流程的管理系统为例简要介绍如何使用PHP来构建流程管理系统。
36.1 流程管理系统的需求
36.2 数据库设计
36.3 关键技术的实现
36.3.1 使用触发器来记录请求更新日志
36.3.2 根据角色的不同对请求进行不同的操作
36.4 页面代码的实现
36.4.1 设备维修请求列表页面的实现
36.4.2 提交新请求页面的实现
36.4.3 需要执行操作的请求列表页面的实现
36.4.4 对请求执行操作页面的实现
36.4.5 操作日志列表页面的实现
36.5 小结
第37章 PHP与资源管理系统
前面两章站在企业层面上介绍了如何使用PHP创建企业OA系统和流程管理系统。目前常见的企业级系统还包括资源管理系统(Enterprise Resource Management System,ERM)。所谓资源包含企业中的网络资源、工程方面的资源和财务资源等。一个完整的资源管理系统应该包括对资源的数据存储、业务分析以及辅助决策等,并且要与其他现有系统具有良好的接口。本章将以一个小型库存资源管理系统为例,简要介绍如何使用PHP构建一个资源管理系统。
37.1 资源管理系统的需求
37.2 数据库设计
37.3 关键技术的实现
37.3.1 使用SQL计算奖金额度
37.3.2 使用触发器来限制奖金额度
37.3.3 使用存储过程从其他数据表获取数据
37.3.4 自动生成PHP代码控制网站开关
37.3.5 使用JpGraph生成统计图
37.4 各功能模块的具体实现
37.4.1 用户权限认证的实现
37.4.2 订单输入模块的实现
37.4.3 库存管理模块的实现
37.4.4 账目管理模块的实现
37.4.5 奖金计算模块的实现
37.4.6 年度统计模块的实现
37.5 小结
第38章 多国语言处理策略
前面几章介绍了如何使用PHP来开发一些实际项目。随着信息全球化的高速发展,应用系统向全球化发展的趋势也越加明显。例如,一个跨国企业的办公系统可能要面向这家跨国企业分布在全球的多家分公司,在开发这个办公系统时可能就需要对多种语言提供支持。本章将以一个小型系统为例来介绍一下如何对PHP开发的系统提供多国语言支持的功能。
38.1 对字符编码与GB2312、GBK和UTF-8的理解
38.1.1 GB2312与GBK
38.1.2 Unicode、UCS与UTF-8
38.1.3 网页编码的实现
38.2 GLS设计思想简介
38.3 客户端语言选项的设置与获取
38.3.1 客户端语言选项的设置
38.3.2 使用PHP获取客户端语言选项
38.4 一个简单的带有多国语言支持的应用开发
38.4.1 数据库设计
38.4.2 页面代码的开发
38.4.3 语言设置页面的开发
38.4.4 语言配置文件选取页面的开发
38.4.5 语言配置文件的设计
38.5 小结
第39章 PHP在门户网站中的应用
在互联网发达的今天,网民的数量也在高速增长,越来越多的大型网站通过将各种数据资源和互联网资源结合起来构成了门户网站。门户网站通过将新闻系统、聊天室、BBS和电子商务等多种应用系统整合起来为用户提供了丰富的互联网信息。本章将主要介绍PHP在门户网站中的一些应用。
39.1 门户网站的特点
39.2 静态缓存和动态缓存
39.2.1 静态缓存与动态缓存简介
39.2.2 一个对系统实现静态缓存的例子
39.2.3 一个对系统实现动态缓存的例子
39.3 门户网站中的交互设计
39.3.1 什么是交互设计
39.3.2 一个不好的交互设计例子
39.3.3 改进的交互设计例子
39.4 负载均衡技术简介
39.4.1 常用的负载均衡技术
39.4.2 常用的负载均衡算法
39.5 一个使用用户排队机制解决网站大访问量的例子
39.6 小结
第6篇 PHP与数据库
第40章 PHP与网络客户端
前面介绍了使用PHP构建服务器端页面,用户可以通过浏览器访问远程服务器上的PHP页面来实现与服务器的交互操作。除此之外,PHP还可以用来开发网络客户端,用户可以在自己的主机上访问远程服务器,甚至可以通过命令行来与远程服务器进行交互。本章将介绍如何使用PHP访问远程Web服务器和FTP服务器,以及使用命令行来运行PHP代码。
40.1 PHP访问远程Web页面
40.1.1 fsockopen函数
40.1.2 一个远程提交数据的实例
40.2 PHP订阅RSS
40.2.1 下载远程RSS
40.2.2 RSS的解析与保存
40.3 PHP访问FTP服务器
40.3.1 连接和断开FTP服务器
40.3.2 登录FTP服务器
40.3.3 获取文件列表
40.3.4 文件的上传、下载和删除
40.3.5 目录的创建和删除
40.4 PHP的命令行模式
40.4.1 PHP命令行程序简介
40.4.2 执行参数的获取
40.4.3 一个使用命令行方式访问FTP的实例
40.5 小结
第41章 PHP与XML-RPC、SOAP
前面介绍了如何通过访问PHP页面来实现与服务器的交互。除此之外,PHP还支持开发供程序调用的接口页面。通过这些接口,远程程序可以很容易地实现与服务器的交互操作,而不需要复杂地通过对一般页面进行读取来进行交互。本章将介绍两种最常见的远程调用的技术以及使用PHP的实现方法。
41.1 XML-RPC简介
41.1.1 客户端请求的XML格式
41.1.2 服务器响应的XML格式
41.1.3 错误信息的XML格式
41.2 PHP与XML-RPC的结合实例
41.2.1 PHP的XML-RPC库介绍
41.2.2 PHP服务器端页面的编写
41.2.3 PHP客户端页面的编写
41.3 SOAP简介
41.4 PHP的SOAP应用实例
41.4.1 SOAP扩展库的使用方法
41.4.2 服务器端的编写
41.4.3 客户端的编写
41.5 小结
第42章 PHP与Web Service
上一章介绍了如何使用PHP通过XML-RPC和SOAP进行远程访问以及远程过程调用的方法,这些技术不单单实现了通过浏览器对页面的直接访问,而且提供了可供程序调用的函数为客户端程序提供了便利。这种技术往往被称为Web Service,在互联网技术发展的今天,Web Service提供了一种可编程的数据接口方便了其他程序或客户端的调用。本章将介绍Web Service技术以及如何使用PHP来实现。
42.1 Web Service简介
42.2 WSDL、UDDI与Web Service
42.2.1 WSDL简介
42.2.2 UDDI简介
42.3 PHP与Web Service的交互操作
42.3.1 NuSOAP类库
42.3.2 PHP创建Web Service
42.3.3 PHP访问Web Service
42.4 小结
第43章 PHP与Ajax
Ajax是近年来刚刚流行起来的一种技术,全称是Asynchronous JavaScript and XML(异步JavaScript和XML)。Ajax是多种技术的综合应用,主要包括JavaScript技术、XML技术、DOM技术和XMLHttpRequest控件等。Ajax作为Web 2.0的一个重要技术,大大推动了Web技术的发展。本章将结合PHP来简要介绍一下Ajax的一些常见应用。
43.1 Ajax简介
43.1.1 Ajax工作原理
43.1.2 Ajax的优势与劣势
43.2 XMLHttpRequest的使用
43.2.1 Ajax初始化
43.2.2 XMLHttpRequest的属性和方法
43.2.3 简单的服务器请求
43.2.4 HTML文件的读取
43.2.5 XML文件的读取
43.3 PHP与Ajax的交互
43.3.1 使用GET方式与PHP交互
43.3.2 使用POST方式与PHP交互
43.4 Ajax应用实例
43.4.1 用户名唯一性验证的实现
43.4.2 动态列表框的实现
43.4.3 局部刷新页面的实现
43.4.4 自动刷新页面的实现
43.4.5 进度条的实现
43.4.6 表单输入提示的实现
43.5 小结
第44章 PHP扩展的开发
本书前面的章节介绍了PHP的开发与应用。在进行PHP开发时,有时难免遇到无法使用PHP解决或很难使用PHP来解决的问题,这时就需要使用PHP扩展功能来扩展PHP的功能了。本章将简要介绍如何在Windows平台下进行PHP扩展的开发。
44.1 PHP扩展开发简介
44.2 使用Visual C++编写PHP扩展
44.2.1 PHP扩展开发的前期准备
44.2.2 PHP扩展代码模板的生成
44.2.3 模板代码的修改与编译
44.2.4 扩展模块的调用
44.3 一个扩展应用实例的开发--简单加密解密函数
44.3.1 加密函数的编写
44.3.2 解密函数的编写
44.3.3 测试代码的编写
44.4 小结
第1章 文件系统与文本数据操作
在程序设计中,文件是一个很重要的对象,Web编程也不例外。文件的操作在很多Web系统中一直都是被反复用到的。在实际应用中经常会遇到对文件和目录的创建、修改、删除等操作。本章将主要介绍如何使用PHP对文件系统以及文本数据进行操作。
1.1 PHP中目录操作详解
1.1.1 打开目录
1.1.2 关闭目录
1.1.3 读取目录中的文件
1.1.4 创建目录
1.1.5 删除目录
1.2 PHP中文件操作详解
1.2.1 打开文件
1.2.2 关闭文件
1.2.3 读取文件
1.2.4 写入文件
1.2.5 删除文件
1.2.6 复制文件
1.3 本地文件的操作实例--小型留言本
1.3.1 留言发表模块
1.3.2 浏览模块
1.4 远程文件的操作实例
1.5 文件的上传与下载
1.5.1 文件的上传
1.5.2 文件的下载
1.6 小结
第2章 字符的处理与正则表达式
在PHP中,对于字符的处理是一个很重要的部分,很多应用中都包含有字符处理的功能,而正则表达式则是有效地处理一些复杂字符操作的便利方式。本章将重点介绍PHP中的一些常见字符处理操作及正则表达式的应用。
2.1 字符类型的特殊性
2.2 字符的显示与格式化
2.2.1 字符的显示
2.2.2 字符的格式化
2.3 常见的操作
2.3.1 字符串重复操作--str_repeat
2.3.2 字符串替换操作--str_replace和str_ireplace
2.3.3 字符串分解操作--str_split
2.3.4 字符串单词数的计算函数--str_word_count
2.3.5 字符串查找操作--strstr
2.3.6 获得字符串长度--strlen
2.3.7 获得字符串子串--substr
2.4 正则表达式简介
2.5 正则表达式与字符操作综合应用
2.5.1 获得与模式匹配的数组单元--preg_grep
2.5.2 进行全局正则表达式匹配--preg_match_all
2.5.3 进行正则表达式匹配--preg_match
2.5.4 转义正则表达式字符--preg_quote
2.5.5 执行正则表达式的搜索和替换的函数--preg_replace
2.5.6 通过回调函数执行正则表达式的搜索和替换--preg_replace_callback
2.5.7 用正则表达式进行字符串分割--preg_split
2.6 字符操作的注意事项
2.7 小结
第3章 数组操作与数据结构算法
数组是一个由若干同类型变量组成的集合,引用这些变量时可用同一名字。数组中的每一个变量都叫做数组的一个元素。在开发中,数组有广泛的用途。本章将对数组及一些数组的使用技巧作详细讲解。
3.1 一维数组与多维数组
3.1.1 一维数组简介
3.1.2 多维数组简介
3.2 常用的数组操作
3.2.1 数组的创建与调用
3.2.2 数组的更新
3.2.3 数组元素的遍历
3.3 数组索引与键值的操作技巧
3.4 数组的排序
3.4.1 递增排序--sort
3.4.2 递减排序--rsort
3.4.3 数组排序--array_multisort
3.5 几种数组的应用实例
3.5.1 顺序查找
3.5.2 二分法查找
3.5.3 使用array_search函数进行查找
3.5.4 线性表的入栈与出栈
3.5.5 数组的合并
3.5.6 数组的拆分
3.5.7 随机排序
3.6 小结
第4章 PHP程序调试
在PHP的编写过程中,错误是不可避免的,如何有效地调试并修复错误是一个程序员必备的一种能力。PHP提供了很好的错误提示,并且通过与Eclipse工具结合可以很方便地进行程序调试。本章将对PHP中的错误类型和程序调试方法进行详细讲解。
4.1 PHP中的错误类型
4.1.1 语法错误
4.1.2 语义错误
4.1.3 逻辑错误
4.1.4 注释错误
4.1.5 运行时错误
4.2 PHP程序调试策略
4.2.1 PHP的错误级别
4.2.2 打开PHP的错误报告
4.2.3 使用print进行程序调试
4.3 使用PHPEclipse进行PHP程序调试
4.3.1 使用Eclipse编写PHP程序的好处
4.3.2 PHPEclipse的安装与启动
4.3.3 PHPEclipse的使用
4.3.4 PHPEclipse的语法错误强调功能
4.3.5 PHPEclipse的调试界面
4.3.6 使用PHPEclipse调试PHP代码的常见问题
4.4 错误的处理
4.4.1 错误的隐藏
4.4.2 错误信息的定制
4.4.3 超时错误的处理
4.5 小结
第2篇 PHP面向对象
第5章 PHP中的异常处理
上一章介绍了如何调试PHP中的错误,这些错误通常是在实际编程中因为程序员的失误或者设计错误造成的。在实际运行过程中,往往还可能存在一些环境错误。例如,文件无法找到或者数据库无法打开等。这些环境错误当然可以通过if语句的判断来识别。但是,PHP还提供了一种更好的异常处理方法,可以有效地解决因为环境错误带来的异常。本章将主要介绍PHP中的异常处理方法。
5.1 异常处理的原理
5.2 PHP中的异常处理
5.2.1 异常类Exception
5.2.2 异常抛出关键字throw
5.2.3 异常捕获语句try-catch
5.2.4 异常处理函数设置set_exception_handler
5.2.5 完整的异常信息
5.3 扩展的异常处理类
5.4 异常的传递与重掷
5.5 小结
第6章 PHP与表单
在Web应用程序的开发中,通常使用表单来实现程序与用户输入的交互。用户通过在表单上输入数据,将一些信息传输给网站的程序以进行相应的处理。当用户在Web页面中的表单内填写好信息以后,可以通过单击按钮或链接来实现数据的提交。本章将主要介绍PHP中表单的应用,PHP程序通过接收用户在表单中输入的信息实现与用户的交互。
6.1 HTML表单简介
6.1.1 表单标签form
6.1.2 输入标签input与文本框
6.1.3 按钮
6.1.4 单选框与复选框
6.1.5 多行文本域标签textarea
6.1.6 下拉框与列表框标签select
6.2 表单数据的接收
6.2.1 GET方法
6.2.2 POST方法
6.3 常用表单数据的验证方法
6.3.1 姓名验证
6.3.2 日期验证
6.3.3 E-mail地址验证
6.3.4 密码字段的验证
6.3.5 改进的用户信息输入程序
6.4 URL编码解码函数
6.4.1 编码字符串--urlencode
6.4.2 解码字符串--urldecode
6.5 小结
第7章 PHP与JavaScript交互
前面几章介绍了如何使用PHP语言来实现一些基本操作。PHP是一种后台语言,在执行时会将PHP程序的运行结果以静态HTML的形式返回给客户端。也就是说,在客户端并不能看见PHP代码。本章将要介绍一种流行的在客户端执行的前台编程语言--JavaScript。在实际应用中,往往会结合应用后台语言和前台语言以实现一些需要的功能。
7.1 JavaScript简介
7.2 JavaScript的数据类型
7.3 JavaScript程序设计基础
7.3.1 在HTML中嵌入JavaScript
7.3.2 变量
7.3.3 注释
7.3.4 函数的定义与调用
7.3.5 条件语句
7.3.6 循环语句
7.3.7 对象
7.3.8 事件
7.4 PHP动态生成JavaScript代码
7.4.1 多行输出
7.4.2 单行输出
7.4.3 PHP动态生成JavaScript实例--进度条
7.5 JavaScript中调用PHP程序
7.5.1 页面的跳转
7.5.2 隐性调用PHP程序
7.6 JavaScript和PHP综合实例--表单验证
7.6.1 表单设计
7.6.2 JavaScript代码设计
7.6.3 PHP代码设计
7.6.4 代码的运行
7.7 小结
第8章 关系型数据库的基础知识
在第一篇中,介绍了PHP的各种基本应用。从本章开始,将介绍PHP与数据库的结合使用。本章将主要介绍一些关系型数据库的基础知识。
8.1 关系型数据库与关系型数据库系统的介绍
8.2 关系型数据库系统的结构与运行过程
8.2.1 关系型数据库系统的层次结构
8.2.2 关系型数据库系统的运行过程
8.3 常用关系型数据库的介绍
8.3.1 MySQL
8.3.2 ORACLE
8.3.3 SYBASE
8.3.4 DB2
8.3.5 SQL Server
8.4 SQL语言简介
8.5 常见数据库设计问题
8.6 关系型数据库的设计原则
8.6.1 第一范式(1NF)
8.6.2 第二范式(2NF)
8.6.3 第三范式(3NF)
8.7 数据库设计的方法与步骤
8.7.1 需求分析
8.7.2 概念设计的E-R方法
8.7.3 数据库逻辑设计方法
8.7.4 物理设计阶段
8.7.5 数据库实施阶段
8.7.6 数据库运行和维护阶段
8.8 小结
第3篇 PHP基础应用
第9章 MySQL的安装与操作
上一章对数据库管理系统的基本特点作了一些简要介绍,并且介绍了常见的几款关系型数据库系统,MySQL就是其中之一。在与PHP的应用中,MySQL是最常用到的一款。本章将主要介绍如何安装和配置MySQL数据库服务器,并对MySQL数据库服务器的一些常见操作加以介绍。
9.1 MySQL数据库服务器介绍
9.2 安装与配置
9.2.1 下载MySQL
9.2.2 MySQL的安装
9.2.3 MySQL的配置
9.2.4 MySQL的启动与关闭
9.3 数据库与表的创建
9.3.1 登录与退出MySQL命令行管理模式
9.3.2 MySQL的数据库操作
9.3.3 表的创建
9.4 数据类型的介绍
9.5 索引与唯一值的介绍
9.6 数据的操作
9.6.1 表的修改
9.6.2 表的删除
9.6.3 数据的查询
9.6.4 数据的插入
9.6.5 数据的更新
9.6.6 数据的删除
9.7 小结
第10章 MySQL与PHP的应用
上一章介绍了如何通过MySQL命令行对MySQL数据库进行操作。在PHP中,使用MySQL扩展来实现对MySQL数据库的操作。其基本操作方法与在命令行上进行操作大致相同,只是操作命令都是写到PHP脚本中来完成的。本章将介绍如何使用PHP对数据库操作,并具体介绍PHP与MySQL的结合使用。
10.1 PHP结合数据库应用的优势
10.2 Web数据库的工作原理
10.3 使用PHP操作MySQL数据库
10.3.1 数据库服务器的连接与断开
10.3.2 选择数据库
10.3.3 执行SQL语句
10.3.4 获得查询结果集中的记录数
10.3.5 获得结果集中的某一条记录
10.3.6 逐行获取结果集中的每一条记录
10.3.7 结果集的分页
10.3.8 用户动态添加记录
10.3.9 用户动态更新记录
10.3.10 用户动态删除记录
10.4 使用PHP获取MySQL数据库的信息
10.4.1 获取数据库的信息
10.4.2 获取表的信息
10.4.3 获取列的数目
10.4.4 获取列的名称
10.4.5 获取列的数据类型
10.4.6 获取列的长度
10.4.7 获取列的标志
10.4.8 一个完整的查看表中各列属性的实例
10.5 常见问题与解决方案
10.6 小结
第11章 数据库中的程序逻辑
上一章介绍了使用PHP对MySQL数据库进行存取,在一般性的应用中,使用PHP直接对数据库进行存取的方法应用非常广泛。有时候,一些基本的数据库应用可能会被反复用到。如果使用PHP反复执行这一相同操作,不仅麻烦而且会影响代码的运行效率。
因此,在某些时候,对于一些小型并且频繁使用的数据库操作,可以将其交给数据库来完成。本章将以MySQL数据库为例,介绍如何在数据库中实现这些程序逻辑。
11.1 数据库程序逻辑与PHP程序逻辑的分体设计原则
11.2 数据库程序逻辑与数据的关系
11.3 存储过程的设计
11.3.1 定界符重定义
11.3.2 存储过程的创建与调用
11.3.3 存储过程的参数
11.3.4 复合语句
11.3.5 变量
11.3.6 条件语句
11.3.7 循环语句
11.3.8 游标
11.3.9 存储过程的删除
11.4 触发器的设计
11.4.1 触发器的创建与触发
11.4.2 触发器的删除
11.5 PHP与存储过程、触发器
11.5.1 PHP调用存储过程
11.5.2 PHP调用触发器
11.6 小结
第12章 Session与Cookie
在数据库应用中,难免会涉及用户登录功能的编写。在一些系统中,往往也需要识别用户的身份。因此,Session与Cookie是Web应用特别是数据库应用中不可或缺的两个要素。正是由于Session和Cookie的存在才使页面间信息的安全传递成为可能。本章将结合数据库的使用实例来介绍PHP中Session和Cookie的应用。
12.1 Session与Cookie简介
12.2 PHP中Session的实现
12.2.1 标识开始使用Session
12.2.2 Session预定义数组
12.2.3 Session的检测与注销
12.2.4 PHP中Session处理的定制
12.3 Session应用实例--登录验证
12.3.1 数据库设计
12.3.2 HTML表单的设计
12.3.3 验证页面的编写
12.3.4 欢迎页面的编写
12.3.5 注销页面的编写
12.3.6 代码的运行
12.3.7 代码的改进
12.4 PHP中Cookie的实现
12.4.1 Cookie语法格式
12.4.2 Cookie预定义数组
12.4.3 创建一个Cookie
12.4.4 创建一个有时间限制的Cookie
12.4.5 创建一个有范围限制的Cookie
12.4.6 删除Cookie
12.4.7 浏览器重定向
12.4.8 Cookie的常见问题
12.5 Cookie应用实例--登录验证
12.5.1 HTML表单的设计
12.5.2 验证页面的编写
12.5.3 欢迎页面的编写
12.5.4 注销页面的编写
12.5.5 代码的运行
12.6 Cookie与Session的比较
12.7 小结
第13章 MySQL与PHP的应用实例--留言本
在前面几章中,介绍了MySQL与PHP结合使用的方法,以及如何在PHP中使用Session和Cookie。本章将从一个PHP留言本的整体设计入手,详细介绍在实际应用中如何使用PHP结合MySQL开发基于Web的应用程序。
13.1 留言本实例的系统分析
13.1.1 系统简介
13.1.2 系统模型设计
13.1.3 数据库设计
13.1.4 公共功能设计
13.2 使用MySQL与PHP创建一个留言本
13.2.1 查看留言功能
13.2.2 发表留言功能
13.2.3 管理员身份验证功能
13.2.4 管理首页设计
13.2.5 留言回复功能
13.2.6 留言删除功能
13.2.7 留言回复删除功能
13.2.8 留言审批功能
13.2.9 退出管理员登录功能
13.3 小结
第14章 PostgreSQL与PHP的应用
前面几章对MySQL数据库系统与PHP的应用作了一些详细介绍。本章将向读者介绍另外一种常与PHP结合使用的数据库系统PostgreSQL。通过学习本章,读者将不仅掌握一些PostgreSQL的常用操作方法,也将对如何使用PHP操作PostgreSQL有一个初步的了解。
14.1 PostgreSQL简介
14.2 PostgreSQL的安装
14.2.1 PostgreSQL的下载
14.2.2 PostgreSQL的安装
14.2.3 PostgreSQL服务的启动与停止
14.3 PostgreSQL的基本操作
14.3.1 pgAdmin III的启动
14.3.2 服务器的连接
14.3.3 创建一个新数据库
14.3.4 创建一个表
14.3.5 对表中数据的操作
14.3.6 SQL语句的执行
14.4 使用PHP存取PostgreSQL数据库
14.4.1 使用PHP的PostgreSQL扩展
14.4.2 数据库的连接与关闭
14.4.3 执行SQL语句
14.4.4 获得查询结果集中的记录数
14.4.5 逐行获取结果集中的每一条记录
14.4.6 数据的插入、更新和删除
14.4.7 执行动态SQL语句
14.4.8 information_schema
14.5 小结
第15章 SQL Server与PHP的应用
前面两章对PHP与MySQL和PostgreSQL数据库服务器的连接进行了简单介绍。在实际应用中,由于MySQL和PostgreSQL的大型数据处理能力比较差,因而往往使用较大型的数据库系统进行部署。SQL Server就是微软推出的一款适合较大型系统使用的数据库服务器软件。本章将对SQL Server与PHP的应用进行介绍。
15.1 SQL Server简介
15.2 SQL Server的安装
15.2.1 SQL Server的安装
15.2.2 SQL Server Management Studio
15.3 SQL Server的基本操作
15.3.1 创建一个数据库
15.3.2 创建一个表
15.3.3 对表中数据的操作
15.3.4 SQL语句的执行
15.4 使用PHP存取SQL Server数据库
15.4.1 使用PHP的mssql扩展
15.4.2 数据库的连接与关闭
15.4.3 执行SQL语句
15.4.4 获得查询结果集中的记录数
15.4.5 逐行获取结果集中的每一条记录
15.5 小结
第4篇 PHP与数据库
第16章 Oracle与PHP的应用
上一章介绍了SQL Server与PHP的应用。与SQL Server类似,Oracle是甲骨文公司推出的一款大型数据库管理系统。在实际应用中,Oracle具有更高的数据处理和管理能力。因此,Oracle受到了很多大型企业的青睐。本章将介绍Oracle的基本操作以及与PHP的应用。
16.1 Oracle简介
16.2 Oracle的安装
16.2.1 Oracle的安装
16.2.2 Oracle Application Express
16.3 Oracle的基本操作
16.3.1 创建一个表
16.3.2 对表中数据的操作
16.3.3 SQL语句的执行
16.4 使用PHP存取Oracle数据库
16.4.1 使用PHP的oci8扩展
16.4.2 数据库的连接与关闭
16.4.3 执行SQL语句
16.4.4 逐行获取结果集中的每一条记录
16.5 小结
第17章 不同数据库的差异
目前市场上流行的数据库有很多种,虽然这些数据库在开发时遵循同样的一个标准,但是,每种数据库都有一些与其他同类产品不一样的地方。本章将主要介绍不同种数据库间的差异,并对PHP与不同数据库的操作上的差异作一些介绍。
17.1 SQL语言标准以及常见关系型数据库的SQL扩展
17.1.1 ANSI SQL语言标准
17.1.2 MySQL对ANSI SQL的扩充
17.1.3 SQL Server的T-SQL
17.1.4 Oracle的PL/SQL
17.2 PHP数据库应用的差异
17.2.1 MySQL与PHP的应用
17.2.2 PostgreSQL与PHP的应用
17.2.3 SQL Server与PHP的应用
17.2.4 Oracle与PHP的应用
17.2.5 SQLite与PHP的应用
17.2.6 Access与PHP的应用
17.2.7 ODBC与PHP的应用
17.3 小结
第18章 PEAR、PECL的应用
本书前面的章节介绍了PHP的基本使用以及与数据库结合的实例。通过对前面的学习,读者应该能够使用PHP设计并实现一些常见的功能了。很多时候,并不需要自己逐行完成应用中的所有代码,因为很多常见的功能可能早已被人开发出来了。如果能够有效地利用这些资源,就能在实际开发中达到事半功倍的效果。本章将介绍的PEAR与PECL就是这样的资源库。
18.1 PEAR与PECL的介绍
18.2 PEAR类库组件的安装
18.3 PEAR类库的安装与使用
18.3.1 查看已安装PEAR包
18.3.2 查看PEAR包的详细信息
18.3.3 安装一个PEAR包
18.3.4 PEAR包的升级
18.3.5 PEAR包的使用
18.4 常用的PEAR类库实例
18.4.1 使用DB类库进行数据库查询
18.4.2 使用Auth_HTTP类库进行身份校验
18.4.3 使用HTML_Template_IT类库进行模板替换
18.5 PECL扩展库的安装与使用
18.6 PECL扩展库应用实例--Zip扩展
18.6.1 Zip扩展的安装
18.6.2 一个Zip扩展应用实例
18.7 小结
第19章 ADOdb类库应用
本书第2篇介绍了PHP与MySQL等几种常用数据库的结合使用。PHP提供了多种数据库访问组件来访问不同类型的数据库。PHP的这种机制为PHP程序员制造了很多麻烦,为了访问不同种类的数据库,不得不记住多种多样的数据库存取函数。而本章将要介绍的ADOdb类库则有效地解决了这个问题。ADOdb类库通过对不同数据库的差异封装,可使PHP应用可以轻松地在不同的数据库之间进行切换。
19.1 ADOdb介绍
19.1.1 ADOdb的优势
19.1.2 ADOdb的适用场合
19.2 ADOdb类库的安装与配置
19.2.1 ADOdb的下载与安装
19.2.2 ADOdb的第一个测试程序
19.3 ADOdb的常用数据库操作
19.3.1 连接数据库
19.3.2 数据的插入、更新和删除
19.3.3 数据查询
19.3.4 记录分页的实现
19.3.5 多个数据库的连接方法
19.4 ADOdb的程序调试
19.5 小结
第20章 FPDF类库应用
PDF文档格式是当前流行的电子文档与电子表格的一种标准格式。PDF提供了完善的压缩处理,无论创建者创建的PDF文档使用了什么字体,使用了什么样的图片或者版式设计,浏览者都可以通过免费的Adobe Reader对其进行阅读。本章将要介绍的是一个可以用PHP创建PDF文档的类库FPDF。
20.1 FPDF简介
20.2 FPDF的安装与配置
20.3 FPDF创建PDF文档
20.3.1 FPDF创建Hello World
20.3.2 在PDF中插入图片
20.3.3 页眉与页脚
20.3.4 绘制表格
20.4 为FPDF增加中文支持
20.5 FPDF的实际应用
20.5.1 为文章系统创建PDF页面
20.5.2 动态生成企业产品名录
20.6 小结
第21章 PHP的缓存与静态化应用
前面已经介绍了许多PHP应用的例子,这些例子无一例外是通过访问PHP脚本文件来完成的。用户每次在浏览器端的访问都是对PHP脚本的执行过程,程序根据用户的需要返回信息。对于一些大型系统,访问量往往很大,频繁的动态操作与数据库操作大大加重了服务器的负担。
在这种情况下,通常使用缓存技术或者静态化操作。也就是将PHP脚本的页面结果放到缓存中,或者放到静态HTML文件中。这样,访问者在访问页面时,不必重新执行动态PHP代码即可获得结果,可大大缓解服务器的负担。本章将介绍缓存机制与静态化的原理,以及使用PHP实现静态化的方法。
21.1 为什么要静态化
21.2 大型应用的缓存机制与静态化
21.2.1 缓存机制
21.2.2 静态化机制
21.3 PHP如何实现静态化
21.3.1 根据模板生成静态页面
21.3.2 数据库与静态页的关系
21.3.3 静态页内容的修改
21.3.4 模板的替换
21.3.5 静态页上的动态操作
21.3.6 静态页面文件的目录
21.4 小结
第22章 PHP与XML格式操作
XML是一种流行的半结构化文件格式,以一种类似数据库的格式存储数据。在实际应用中,一些简单的、安全性较低的数据往往使用XML文件的格式进行存储。这样做一方面可以通过减少与数据库的交互性操作提高读取效率,另一方面可以有效利用XML的优越性降低程序的编写难度。
PHP提供了一整套的读取XML文件的方法,很容易就可以编写基于XML的脚本程序。本章将介绍PHP与XML的操作方法,并对几个常用的XML类库作一些简要介绍。
22.1 XML简介
22.2 简单的XML操作
22.2.1 创建一个SimpleXML对象
22.2.2 读取SimpleXML对象中的XML数据
22.2.3 XML数据的修改
22.2.4 标准化XML数据
22.2.5 XML数据的存储
22.3 XML文档的动态创建
22.3.1 DOM简介
22.3.2 DOM文档的创建与使用
22.3.3 DOM元素的操作
22.3.4 DOM节点的操作
22.3.5 DOM组件操作实例
22.4 XSLT的使用
22.4.1 XSLT简介
22.4.2 使用PHP与XSLT生成HTML页面
22.5 XML应用实例一--留言本
22.5.1 XML文件结构设计
22.5.2 提交页面的编写
22.5.3 显示页面的编写
22.6 XML应用实例二--为网站生成RSS页面
22.6.1 什么是RSS
22.6.2 RSS页面的编写
22.7 小结
第23章 Smarty类库
前面的章节介绍了很多在HTML页面中内嵌PHP代码的例子。随着Web技术的不断发展,很多Web程序员已经不再满足于这种在HTML页面中内嵌PHP代码的方法。因为这样做的一个很大弊端是为后期维护带来了很多麻烦,程序员不得不修改PHP代码来迎合页面设计的改动。
本章要介绍的Smarty类库有效地解决了这一问题。Smarty类库通过建立模板库来存放静态HTML页面中的HTML代码,并使用PHP代码对其中的元素进行赋值。这样,当页面的设计发生变化时,只需要修改模板页面就可以了。
23.1 Smarty简介
23.2 Smarty的安装与配置
23.2.1 Smarty的安装
23.2.2 Smarty的配置
23.3 Smarty程序设计
23.3.1 简单的Smarty程序设计
23.3.2 模板对象属性的定义
23.3.3 Smarty程序编写的一般步骤
23.4 Smarty模板设计
23.4.1 模板中的变量
23.4.2 变量的修饰
23.4.3 区域循环方法
23.4.4 模板中的条件判断
23.4.5 外部文件的载入
23.5 Smarty的实际应用--多模板网站
23.5.1 模板的设计
23.5.2 页面实现
23.6 小结
第24章 ThinkPHP框架
上一章介绍了使用Smarty类库进行应用系统开发。Smarty使用模板构架有效地分离了代码与页面,当页面发生变化的时候,程序员并不需要修改代码。本章将要介绍另外一种基于模板的开发框架--ThinkPHP框架。
ThinkPHP框架是近两年刚刚发展起来的一个PHP应用开发框架。该框架借鉴了很多优秀框架的经验和模式,使用最通用的MVC构架和面向对象理念,是一款可以实现网站快速开发的优秀的轻量级框架。
24.1 ThinkPHP的安装与项目创建
24.1.1 ThinkPHP的获取与安裝
24.1.2 项目入口文件
24.1.3 项目的创建
24.2 项目的配置
24.3 控制器类的创建
24.3.1 控制器的模块与操作
24.3.2 URL的处理
24.4 模型类的创建
24.4.1 模型的定义与实例化
24.4.2 数据库的连接与操作
24.5 模板文件的编写
24.5.1 模板中的变量
24.5.2 模板中函数的使用
24.5.3 几种基本标签的使用
24.6 ThinkPHP应用实例--在线日程表
24.6.1 数据库的设计
24.6.2 模板的设计
24.6.3 控制器的实现
24.7 小结
第25章 Zend Framework框架
随着Web技术的发展,传统的编程模式已经越来越不能满足日益快速的技术发展。近些年来,一些致力于整合功能的框架技术蓬勃发展起来。上一章介绍的ThinkPHP框架是一个可以满足基本需要的轻量级框架。而由Zend公司构建的框架Zend Framework则更适合大型系统的开发。本章将简要介绍Zend Framework的使用方法。
25.1 Zend Framework的安装与项目创建
25.2 dispatcher与Bootstrap
25.3 控制器程序的编写
25.3.1 首页控制器程序的编写
25.3.2 其他页面控制器程序的编写
25.4 视图文件的调用
25.4.1 默认视图文件的使用
25.4.2 模板文件的调用
25.5 数据模型的生成
25.5.1 数据库的连接
25.5.2 数据模型的创建
25.5.3 数据模型的使用
25.6 用户表单的处理
25.6.1 用户表单的生成
25.6.2 表单数据的验证与过滤
25.7 Zend Framework应用实例--留言本
25.8 小结
第5篇 PHP与数据库
第26章 CakePHP框架
CakePHP是近两年来新生的一款开源的PHP框架。该框架的设计理念来自Ruby的Rails框架,使PHP程序员可以比较迅速地创建Web应用程序。CakePHP框架使用了MVC体系结构,同时兼容PHP 4和PHP 5,并且拥有很灵活的数据模型与权限管理机制。因此,近年来CakePHP受到了越来越多PHP程序员的关注与青睐。CakePHP的最新版本为1.3.0,本章将以该版本为例简要介绍CakePHP的使用方法。
26.1 CakePHP的安装与配置
26.2 Scaffolding简介
26.3 CakePHP的数据模型
26.3.1 数据模型的定义
26.3.2 数据的查询
26.3.3 数据的保存
26.3.4 数据的删除
26.3.5 对象的关联
26.4 控制器的编写
26.4.1 控制器的基本使用
26.4.2 控制器的属性与方法
26.5 视图的调用
26.5.1 视图的布局
26.5.2 视图的元素
26.5.3 视图的缓存
26.6 ACL权限控制
26.6.1 什么是ACL
26.6.2 使用配置文件定义权限
26.6.3 使用数据库定义权限
26.7 CakePHP应用实例--员工工资单
26.7.1 登录框与权限控制
26.7.2 工资单页面的编写
26.8 小结
第27章 Symfony框架
前面几章介绍了几种常见的PHP开发框架。本章将继续介绍另一种近几年流行起来的新的开发框架Symfony。Symfony框架也是一款基于MVC架构的框架,并且使用到了一些其他PHP开源项目的部分代码以增强其功能。因此,近年来Symfony受到了越来越多大型项目的青睐。Symfony框架的最新版本为1.4.3,本章将以该版本为例简要介绍Symfony的使用方法。
27.1 Symfony的安装
27.2 开始一个新项目
27.3 Symfony的数据模型
27.3.1 Schema的编写
27.3.2 数据模型初始化
27.4 控制器与视图
27.4.1 项目的基本构架
27.4.2 视图的布局
27.4.3 控制器与模板
27.5 管理生成器
27.5.1 管理后台的生成
27.5.2 管理后台的配置
27.6 Symfony应用实例--个人博客
27.7 小结
第28章 PHP与图像操作
PHP不仅可以用来生成HTML页面,还可以用来创建和操作二进制文件,例如图片。使用PHP程序动态生成图片可以实现生成缩略图、验证码等多种功能,在实际应用中很常用。在PHP中,通常使用GD库来实现对图像的操作。本章将介绍如何使用GD库来操作图像文件。
28.1 PHP图像函数库简介
28.2 GD库的配置
28.3 一个简单图像创建程序
28.4 GD库的应用实例
28.4.1 使用GD库创建图片缩略图
28.4.2 使用GD库生成验证码
28.4.3 使用GD库下载远程图片
28.4.4 使用GD库为页面增加水印
28.5 小结
第29章 JpGraph创建统计图
上一章介绍了如何使用GD库来创建图像。使用GD库提供的各种函数可以生成多种图像,但是,如果需要在PHP中创建一些统计图,使用GD库就显得很麻烦了。本章将要介绍一种专门用于输出统计图的JpGraph库。该库在数据统计等方面有很大优势。在实际应用中,可以很容易使用JpGraph生成大方得体的统计图。
29.1 JpGraph简介
29.2 JpGraph的安装与配置
29.2.1 JpGraph的安装
29.2.2 JpGraph的配置
29.3 JpGraph绘制统计图实例
29.3.1 简单的X-Y坐标图
29.3.2 改进的X-Y坐标图
29.3.3 柱形图
29.3.4 饼图
29.3.5 3D饼图
29.4 JpGraph应用实例--工厂销量查询系统
29.5 小结
第30章 PHP访问LDAP服务器
LDAP的全称是"轻量级目录访问协议(Lightweight Directory Access Protocol)",是一种简单的目录协议。所谓目录,是一种专门的数据库,可以服务于任何应用程序。在企业应用中使用LDAP可以让企业范围内的所有应用程序从LDAP目录中获取信息,使应用程序可以通过网络直接从LDAP目录获取信息,而不再局限于操作系统与服务器的类型。本章将主要介绍如何使用PHP来访问LDAP。
30.1 LDAP简介
30.2 LDAP服务器的安装与配置
30.2.1 OpenLDAP的安装
30.2.2 OpenLDAP的配置
30.2.3 OpenLDAP的启动与关闭
30.2.4 OpenLDAP的数据操作
30.2.5 phpLDAPadmin简介
30.3 PHP中LDAP扩展的配置
30.4 PHP与LDAP的相关操作
30.4.1 连接LDAP服务器
30.4.2 绑定LDAP服务器
30.4.3 断开LDAP服务器
30.4.4 查询LDAP目录内容
30.4.5 获得查询结果中的值
30.4.6 计算查询结果中的记录数
30.4.7 向LDAP添加一条新记录
30.4.8 更新LDAP中的一条记录
30.4.9 从LDAP中删除一条新记录
30.4.10 错误处理
30.5 使用LDAP验证用户身份
30.6 小结
第31章 PHP与邮件系统
在实际应用中,通常需要使用邮件系统来与网站的访问者交流。例如,一个网站的新注册用户可以通过邮件来获取注册确认信息,也可以通过邮件来找回密码等。因此,在一些常见的网站系统中,往往包含邮件发送的功能。本章将介绍如何使用PHP来发送邮件。
31.1 PHP邮件发送功能配置
31.1.1 PHP中的SMTP功能配置
31.1.2 建立自己的SMTP服务器
31.2 PHP中的mail函数
31.2.1 简单的邮件发送方法
31.2.2 发送HTML格式文本
31.2.3 发送带附件的邮件
31.3 一个简单的邮件发送类
31.3.1 邮件发送类的创建
31.3.2 邮件发送系统的实现
31.4 小结
第32章 PHP优化器与加速器
PHP代码在运行时是通过编译器首先编译成中间代码,然后再被服务器运行得到用户所需要的结果。因此,中间代码的优劣直接决定了代码的最终运行速度。目前,有一些常见的PHP加速器可以通过对中间代码进行优化来提高PHP代码的运行速度。这样,网站的访问者就可以更快地打开网页。
本章将介绍几款常见的PHP加速器,读者可以根据实际情况选择其中的一款安装,从而有效地提高PHP的运行效率。
32.1 优化器Zend Optimizer
32.1.1 Zend Optimizer的安装
32.1.2 Zend Optimizer的配置
32.2 加速器PHP Accelerator
32.2.1 PHP Accelerator的安装
32.2.2 PHP Accelerator的配置
32.3 开源的优化器Turck MMCache
32.3.1 Turck MMCache的安装
32.3.2 Turck MMCache的配置
32.4 开源的加速器eAccelerator
32.5 小结
第33章 用PHP构建内容管理系统CMS
CMS是"内容管理系统(Content Management System)"的缩写,任何基于内容的网站系统都可以称为CMS。例如,文章管理、图片管理以及综合网站管理程序都是CMS的典型实现。一般的CMS系统都是基于模板设计,网站开发人员可以通过简单地修改模板的设计快速实现网站所需功能。本章将以一个简单的文章管理程序为例,说明如何开发一个CMS系统。
33.1 了解CMS需求
33.2 数据库设计
33.3 关键技术的实现
33.3.1 数据库连接公用代码
33.3.2 网站开关的设计
33.3.3 模板更换机制
33.3.4 HTML编码转换
33.4 页面代码设计
33.4.1 首页的实现
33.4.2 注册页面的实现
33.4.3 分类文章列表页面与文章显示页面的实现
33.4.4 投稿页面与添加新文章页面的实现
33.4.5 文章管理页面的实现
33.4.6 文章类别维护页面的实现
33.4.7 网站参数配置页面的实现
33.4.8 网站模板管理页面的实现
33.4.9 退出登录页面的实现
33.5 小结
第34章 用PHP构建搜索引擎
互联网时代是一个信息爆炸的时代,面对着信息高速膨胀的互联网,怎样快捷有效地得到自己所需要的信息成为了一个关键的课题。于是,各种各样的搜索引擎在互联网上诞生了出来,例如,Google、Yahoo和百度等,都是流行的搜索引擎。这些搜索引擎已经逐渐成为人们生活不可或缺的一部分。
本章将要介绍如何使用PHP来进行信息搜索,以及调用这些现有的搜索引擎进行搜索。
34.1 PHP对数据库数据的搜索
34.1.1 数据库创建
34.1.2 搜索页面的设计
34.1.3 内容显示页面的设计
34.1.4 系统集成的调度策略
34.2 PHP对文本文件的搜索
34.3 PHP对现有搜索引擎的调用
34.4 小结
第35章 PHP与企业办公自动化OA系统
OA是办公自动化(Office Automation)的缩写。OA系统是基于Internet或Intranet的概念、以企业工作流为基础构建的办公自动化系统。OA系统能够有效地对企业信息进行管理,并且在企业内部共享信息。OA系统的存在改变了过去复杂低效的办公模式,使办公管理和决策变得更加简单。本章将以一个简单的OA系统为例来介绍如何使用PHP开发OA系统。
35.1 了解企业OA系统的需求
35.2 数据库设计
35.3 关键技术的实现
35.3.1 根据登录用户的权限进入不同的页面
35.3.2 项目与任务状态的级联更新
35.4 页面代码的设计
35.4.1 公共数据库连接代码
35.4.2 登录页面的设计
35.4.3 管理员/经理项目列表页面的设计
35.4.4 创建新项目页面的设计
35.4.5 项目修改页面的设计
35.4.6 普通员工任务列表页面的设计
35.4.7 新账号分配页面的设计
35.4.8 账号权限设置页面的设计
35.4.9 过期项目统计页面的设计
35.4.10 经理项目分配情况统计页面的设计
35.4.11 员工任务分配情况统计页面的设计
35.4.12 公司项目运营情况统计页面的设计
35.5 小结
第36章 PHP与流程管理系统
上一章介绍了如何使用PHP构建一个简单的OA系统。在企业的日常工作中,往往需要遵循一些流程来工作。例如,报销发票的流程可以是报销人提出申请→相关经理批准→财务主管批准→支付报销金额给报销申请人等。流程管理系统可以简单地实现对流程中各个过程进行追踪并提示相关人员完成流程中相应的步骤。本章将以一个设备维修流程的管理系统为例简要介绍如何使用PHP来构建流程管理系统。
36.1 流程管理系统的需求
36.2 数据库设计
36.3 关键技术的实现
36.3.1 使用触发器来记录请求更新日志
36.3.2 根据角色的不同对请求进行不同的操作
36.4 页面代码的实现
36.4.1 设备维修请求列表页面的实现
36.4.2 提交新请求页面的实现
36.4.3 需要执行操作的请求列表页面的实现
36.4.4 对请求执行操作页面的实现
36.4.5 操作日志列表页面的实现
36.5 小结
第37章 PHP与资源管理系统
前面两章站在企业层面上介绍了如何使用PHP创建企业OA系统和流程管理系统。目前常见的企业级系统还包括资源管理系统(Enterprise Resource Management System,ERM)。所谓资源包含企业中的网络资源、工程方面的资源和财务资源等。一个完整的资源管理系统应该包括对资源的数据存储、业务分析以及辅助决策等,并且要与其他现有系统具有良好的接口。本章将以一个小型库存资源管理系统为例,简要介绍如何使用PHP构建一个资源管理系统。
37.1 资源管理系统的需求
37.2 数据库设计
37.3 关键技术的实现
37.3.1 使用SQL计算奖金额度
37.3.2 使用触发器来限制奖金额度
37.3.3 使用存储过程从其他数据表获取数据
37.3.4 自动生成PHP代码控制网站开关
37.3.5 使用JpGraph生成统计图
37.4 各功能模块的具体实现
37.4.1 用户权限认证的实现
37.4.2 订单输入模块的实现
37.4.3 库存管理模块的实现
37.4.4 账目管理模块的实现
37.4.5 奖金计算模块的实现
37.4.6 年度统计模块的实现
37.5 小结
第38章 多国语言处理策略
前面几章介绍了如何使用PHP来开发一些实际项目。随着信息全球化的高速发展,应用系统向全球化发展的趋势也越加明显。例如,一个跨国企业的办公系统可能要面向这家跨国企业分布在全球的多家分公司,在开发这个办公系统时可能就需要对多种语言提供支持。本章将以一个小型系统为例来介绍一下如何对PHP开发的系统提供多国语言支持的功能。
38.1 对字符编码与GB2312、GBK和UTF-8的理解
38.1.1 GB2312与GBK
38.1.2 Unicode、UCS与UTF-8
38.1.3 网页编码的实现
38.2 GLS设计思想简介
38.3 客户端语言选项的设置与获取
38.3.1 客户端语言选项的设置
38.3.2 使用PHP获取客户端语言选项
38.4 一个简单的带有多国语言支持的应用开发
38.4.1 数据库设计
38.4.2 页面代码的开发
38.4.3 语言设置页面的开发
38.4.4 语言配置文件选取页面的开发
38.4.5 语言配置文件的设计
38.5 小结
第39章 PHP在门户网站中的应用
在互联网发达的今天,网民的数量也在高速增长,越来越多的大型网站通过将各种数据资源和互联网资源结合起来构成了门户网站。门户网站通过将新闻系统、聊天室、BBS和电子商务等多种应用系统整合起来为用户提供了丰富的互联网信息。本章将主要介绍PHP在门户网站中的一些应用。
39.1 门户网站的特点
39.2 静态缓存和动态缓存
39.2.1 静态缓存与动态缓存简介
39.2.2 一个对系统实现静态缓存的例子
39.2.3 一个对系统实现动态缓存的例子
39.3 门户网站中的交互设计
39.3.1 什么是交互设计
39.3.2 一个不好的交互设计例子
39.3.3 改进的交互设计例子
39.4 负载均衡技术简介
39.4.1 常用的负载均衡技术
39.4.2 常用的负载均衡算法
39.5 一个使用用户排队机制解决网站大访问量的例子
39.6 小结
第6篇 PHP与数据库
第40章 PHP与网络客户端
前面介绍了使用PHP构建服务器端页面,用户可以通过浏览器访问远程服务器上的PHP页面来实现与服务器的交互操作。除此之外,PHP还可以用来开发网络客户端,用户可以在自己的主机上访问远程服务器,甚至可以通过命令行来与远程服务器进行交互。本章将介绍如何使用PHP访问远程Web服务器和FTP服务器,以及使用命令行来运行PHP代码。
40.1 PHP访问远程Web页面
40.1.1 fsockopen函数
40.1.2 一个远程提交数据的实例
40.2 PHP订阅RSS
40.2.1 下载远程RSS
40.2.2 RSS的解析与保存
40.3 PHP访问FTP服务器
40.3.1 连接和断开FTP服务器
40.3.2 登录FTP服务器
40.3.3 获取文件列表
40.3.4 文件的上传、下载和删除
40.3.5 目录的创建和删除
40.4 PHP的命令行模式
40.4.1 PHP命令行程序简介
40.4.2 执行参数的获取
40.4.3 一个使用命令行方式访问FTP的实例
40.5 小结
第41章 PHP与XML-RPC、SOAP
前面介绍了如何通过访问PHP页面来实现与服务器的交互。除此之外,PHP还支持开发供程序调用的接口页面。通过这些接口,远程程序可以很容易地实现与服务器的交互操作,而不需要复杂地通过对一般页面进行读取来进行交互。本章将介绍两种最常见的远程调用的技术以及使用PHP的实现方法。
41.1 XML-RPC简介
41.1.1 客户端请求的XML格式
41.1.2 服务器响应的XML格式
41.1.3 错误信息的XML格式
41.2 PHP与XML-RPC的结合实例
41.2.1 PHP的XML-RPC库介绍
41.2.2 PHP服务器端页面的编写
41.2.3 PHP客户端页面的编写
41.3 SOAP简介
41.4 PHP的SOAP应用实例
41.4.1 SOAP扩展库的使用方法
41.4.2 服务器端的编写
41.4.3 客户端的编写
41.5 小结
第42章 PHP与Web Service
上一章介绍了如何使用PHP通过XML-RPC和SOAP进行远程访问以及远程过程调用的方法,这些技术不单单实现了通过浏览器对页面的直接访问,而且提供了可供程序调用的函数为客户端程序提供了便利。这种技术往往被称为Web Service,在互联网技术发展的今天,Web Service提供了一种可编程的数据接口方便了其他程序或客户端的调用。本章将介绍Web Service技术以及如何使用PHP来实现。
42.1 Web Service简介
42.2 WSDL、UDDI与Web Service
42.2.1 WSDL简介
42.2.2 UDDI简介
42.3 PHP与Web Service的交互操作
42.3.1 NuSOAP类库
42.3.2 PHP创建Web Service
42.3.3 PHP访问Web Service
42.4 小结
第43章 PHP与Ajax
Ajax是近年来刚刚流行起来的一种技术,全称是Asynchronous JavaScript and XML(异步JavaScript和XML)。Ajax是多种技术的综合应用,主要包括JavaScript技术、XML技术、DOM技术和XMLHttpRequest控件等。Ajax作为Web 2.0的一个重要技术,大大推动了Web技术的发展。本章将结合PHP来简要介绍一下Ajax的一些常见应用。
43.1 Ajax简介
43.1.1 Ajax工作原理
43.1.2 Ajax的优势与劣势
43.2 XMLHttpRequest的使用
43.2.1 Ajax初始化
43.2.2 XMLHttpRequest的属性和方法
43.2.3 简单的服务器请求
43.2.4 HTML文件的读取
43.2.5 XML文件的读取
43.3 PHP与Ajax的交互
43.3.1 使用GET方式与PHP交互
43.3.2 使用POST方式与PHP交互
43.4 Ajax应用实例
43.4.1 用户名唯一性验证的实现
43.4.2 动态列表框的实现
43.4.3 局部刷新页面的实现
43.4.4 自动刷新页面的实现
43.4.5 进度条的实现
43.4.6 表单输入提示的实现
43.5 小结
第44章 PHP扩展的开发
本书前面的章节介绍了PHP的开发与应用。在进行PHP开发时,有时难免遇到无法使用PHP解决或很难使用PHP来解决的问题,这时就需要使用PHP扩展功能来扩展PHP的功能了。本章将简要介绍如何在Windows平台下进行PHP扩展的开发。
44.1 PHP扩展开发简介
44.2 使用Visual C++编写PHP扩展
44.2.1 PHP扩展开发的前期准备
44.2.2 PHP扩展代码模板的生成
44.2.3 模板代码的修改与编译
44.2.4 扩展模块的调用
44.3 一个扩展应用实例的开发--简单加密解密函数
44.3.1 加密函数的编写
44.3.2 解密函数的编写
44.3.3 测试代码的编写
44.4 小结
猜您喜欢