阿壮博客阿壮博客阿壮博客

PHP开发手册<span> php开发手册中文版下载pdf

《PHP开发手册》由孙鹏程编着,电子工业出版社编着,全面、系统地介绍了PHP实战开发方方面面的技术。

书名:PHP开发手册

作者:孙鹏程

出版社:电子工业出版社

页数:702页

开本:16

装帧:平装

ISBN:9787121122934

价格:¥99.00

语种:中文

字数:1126000

类型:计算机与互联网

内容简介

本书从易到难、由浅入深、循序渐进、系统地介绍了PHP5知识点及其Web应用程序的开发技术。通俗易懂,提供大量的实例供读者更加深刻巩固所学的知识,使读者更好地进行开发实践。

本书共分为51章,从搭建PHP应用程序开发环境开始,首先介绍了PHP语言的编程基础知识、常用技巧及与一般Web对象的操作,然后介绍了PHP与数据库的交互操作方法,并对PHP中的扩展库的使用方法进行了详细的介绍,其中包括PEAR、ADOdb、FPDF、GD库等。除此之外,还对PHP的缓存处理方法、XML文件操作、LDAP服务器操作和邮件系统操作进行了介绍。本书通过对CMS系统、OA系统、流程管理系统和资源管理系统等系统的介绍,详细讲解了PHP在实际开发中的应用,并且对服务器的基本知识及PHP的扩展应用都进行了系统翔实的介绍。

本书内容紧凑、实例丰富、结构严谨、深入浅出,不论是对PHP应用程序的初学者,还是对PHP应用程序开发有一定经验的开发人员,都会起到有益的帮助。[1]

作者简介

孙鹏程,从事7年的PHPB/S模式系统的设计和开发,曾经在神州数码、IBM中国担任项目经理。具有六百余万行代码经验,对PHP与企业结合的应用系统设计有深入研究。开发的基于企业管理流程的应用系统广泛应用于东北电网等大型企业。

目录

第1章文件系统与文本数据操作2

在程序设计中,文件是一个很重要的对象,web编程也不例外。文件的操作在很多web系统中一直都是被反复用到的。在实际应用中经常会遇到对文件和目录的创建、修改、删除等操作。本章将主要介绍如何使用php对文件系统以及文本数据进行操作。

1.1php中目录操作详解2

1.1.1打开目录2

1.1.2关闭目录3

1.1.3读取目录中的文件3

1.1.4创建目录3

1.1.5删除目录4

1.2php中文件操作详解4

1.2.1打开文件4

1.2.2关闭文件5

1.2.3读取文件5

1.2.4写入文件6

1.2.5删除文件6

1.2.6复制文件7

1.3本地文件的操作实例——小型留言本7

1.3.1留言发表模块7

1.3.2浏览模块9

.1.4远程文件的操作实例10

1.5文件的上传与下载10

1.5.1文件的上传10

1.5.2文件的下载11

1.6小结12

在php中,对于字符的处理是一个很重要的部分,很多应用中都包含有字符处理的功能,而正则表达式则是有效地处理一些复杂字符操作的便利方式。本章将重点介绍php中的一些常见字符处理操作及正则表达式的应用。

2.1字符类型的特殊性13

2.2字符的显示与格式化14

2.2.1字符的显示14

2.2.2字符的格式化14

2.3常见的操作15

2.3.1字符串重复操作——str_repeat15

2.3.2字符串替换操作——str_replace和str_ireplace16

2.3.3字符串分解操作——str_split17

2.3.4字符串单词数的计算函数——str_word_count18

2.3.5字符串查找操作——strstr19

2.3.6获得字符串长度——strlen19

2.3.7获得字符串子串——substr19

2.4正则表达式简介20

2.5正则表达式与字符操作综合应用20

2.5.1获得与模式匹配的数组单元——preg_grep21

2.5.2进行全局正则表达式匹配——preg_match_all21

2.5.3进行正则表达式匹配——preg_match23

2.5.4转义正则表达式字符——preg_quote24

2.5.5执行正则表达式的搜索和替换的函数——preg_replace25

2.5.6通过回调函数执行正则表达式的搜索和替换——preg_replace_callback25

2.5.7用正则表达式进行字符串分割——preg_split26

2.6字符操作的注意事项27

2.7小结29

数组是一个由若干同类型变量组成的集合,引用这些变量时可用同一名字。数组中的每一个变量都叫做数组的一个元素。在开发中,数组有广泛的用途。本章将对数组及一些数组的使用技巧作详细讲解。

3.1一维数组与多维数组30

3.1.1一维数组简介30

3.1.2多维数组简介30

3.2常用的数组操作31

3.2.1数组的创建与调用31

3.2.2数组的更新32

3.2.3数组元素的遍历33

3.3数组索引与键值的操作技巧34

3.4数组的排序36

3.4.1递增排序——sort36

3.4.2递减排序——rsort36

3.4.3数组排序——array_multisort37

3.5几种数组的应用实例38

3.5.1顺序查找38

3.5.2二分法查找39

3.5.3使用array_search函数进行查找39

3.5.4线性表的入栈与出栈40

3.5.5数组的合并42

3.5.6数组的拆分43

3.5.7随机排序44

3.6小结45

第4章php程序调试46

在php的编写过程中,错误是不可避免的,如何有效地调试并修复错误是一个程序员必备的一种能力。php提供了很好的错误提示,并且通过与eclipse工具结合可以很方便地进行程序调试。本章将对php中的错误类型和程序调试方法进行详细讲解。

4.1php中的错误类型46

4.1.1语法错误46

4.1.2语义错误47

4.1.3逻辑错误47

4.1.4注释错误47

4.1.5运行时错误48

4.2php程序调试策略48

4.2.1php的错误级别48

4.2.2打开php的错误报告49

4.2.3使用print进行程序调试50

4.3使用phpeclipse进行php程序调试51

4.3.1使用eclipse编写php程序的好处51

4.3.2phPECLipse的安装与启动51

4.3.3phpeclipse的使用52

4.3.4phpeclipse的语法错误强调功能53

4.3.5phpeclipse的调试界面54

4.3.6使用phpeclipse调试php代码的常见问题57

4.4错误的处理58

4.4.1错误的隐藏58

4.4.2错误信息的定制59

4.4.3超时错误的处理60

4.5小结61

第5章php中的异常处理62

上一章介绍了如何调试php中的错误,这些错误通常是在实际编程中因为程序员的失误或者设计错误造成的。在实际运行过程中,往往还可能存在一些环境错误。例如,文件无法找到或者数据库无法打开等。这些环境错误当然可以通过if语句的判断来识别。但是,php还提供了一种更好的异常处理方法,可以有效地解决因为环境错误带来的异常。本章将主要介绍php中的异常处理方法。

5.1异常处理的原理62

5.2php中的异常处理62

5.2.1异常类exception63

5.2.2异常抛出关键字throw64

5.2.3异常捕获语句try-catch65

5.2.4异常处理函数设置set_exception_handler66

5.2.5完整的异常信息67

5.3扩展的异常处理类68

5.4异常的传递与重掷71

5.5小结73

第6章php与表单74

在web应用程序的开发中,通常使用表单来实现程序与用户输入的交互。用户通过在表单上输入数据,将一些信息传输给网站的程序以进行相应的处理。当用户在web页面中的表单内填写好信息以后,可以通过单击按钮或链接来实现数据的提交。本章将主要介绍php中表单的应用,php程序通过接收用户在表单中输入的信息实现与用户的交互。

6.1html表单简介74

6.1.1表单标签form74

6.1.2输入标签input与文本框75

6.1.3按钮76

6.1.4单选框与复选框77

6.1.5多行文本域标签textarea78

6.1.6下拉框与列表框标签select79

6.2表单数据的接收79

6.2.1get方法80

6.2.2post方法82

6.3常用表单数据的验证方法83

6.3.1姓名验证83

6.3.2日期验证84

6.3.3e-mail地址验证84

6.3.4密码字段的验证84

6.3.5改进的用户信息输入程序85

6.4URL编码解码函数87

6.4.1编码字符串——urlencode87

6.4.2解码字符串——urldecode87

6.5小结88

前面几章介绍了如何使用php语言来实现一些基本操作。php是一种后台语言,在执行时会将php程序的运行结果以静态html的形式返回给客户端。也就是说,在客户端并不能看见php代码。本章将要介绍一种流行的在客户端执行的前台编程语言——javascript。在实际应用中,往往会结合应用后台语言和前台语言以实现一些需要的功能。

7.1javascript简介89

7.2javascript的数据类型89

7.3JavaScript程序设计基础90

7.3.1在html中嵌入javascript90

7.3.2变量91

7.3.3注释91

7.3.4函数的定义与调用92

7.3.5条件语句92

7.3.6循环语句95

7.3.7对象97

7.3.8事件98

7.4php动态生成javascript代码99

7.4.1多行输出99

7.4.2单行输出99

7.4.3php动态生成javascript实例——进度条100

7.5javascript中调用php程序101

7.5.1页面的跳转101

7.5.2隐性调用php程序102

7.6javascript和php综合实例——表单验证102

7.6.1表单设计103

7.6.2javascript代码设计104

7.6.3php代码设计105

7.6.4代码的运行106

7.7小结107

第2篇php与数据库

第8章关系型数据库的基础知识110

在第一篇中,介绍了php的各种基本应用。从本章开始,将介绍php与数据库的结合使用。本章将主要介绍一些关系型数据库的基础知识。

8.1关系型数据库与关系型数据库系统的介绍110

8.2关系型数据库系统的结构与运行过程111

8.2.1关系型数据库系统的层次结构111

8.2.2关系型数据库系统的运行过程111

8.3常用关系型数据库的介绍112

8.3.1mysql112

8.3.2oracle112

8.3.3sybase113

8.3.4db2113

8.3.5sqlserver113

8.4sql语言简介113

8.5常见数据库设计问题114

8.6关系型数据库的设计原则114

8.6.1第一范式(1NF)115

8.6.2第二范式(2NF)115

8.6.3第三范式(3NF)116

8.7数据库设计的方法与步骤116

8.7.1需求分析117

8.7.2概念设计的e-r方法121

8.7.3数据库逻辑设计方法121

8.7.4物理设计阶段124

8.7.5数据库实施阶段124

8.7.6数据库运行和维护阶段124

8.8小结124

第9章mysql的安装与操作125

上一章对数据库管理系统的基本特点作了一些简要介绍,并且介绍了常见的几款关系型数据库系统,mysql就是其中之一。在与php的应用中,mysql是最常用到的一款。本章将主要介绍如何安装和配置mysql数据库服务器,并对mysql数据库服务器的一些常见操作加以介绍。

9.1mysql数据库服务器介绍125

9.2安装与配置125

9.2.1下载mysql125

9.2.2mysql的安装126

9.2.3mysql的配置127

9.2.4mysql的启动与关闭129

9.3数据库与表的创建129

9.3.1登录与退出MySql命令行管理模式130

9.3.2mysql的数据库操作130

9.3.3表的创建132

9.4数据类型的介绍134

9.5索引与唯一值的介绍135

9.6数据的操作136

9.6.1表的修改136

9.6.2表的删除137

9.6.3数据的查询137

9.6.4数据的插入142

9.6.5数据的更新143

9.6.6数据的删除144

9.7小结144

第10章mysql与php的应用145

上一章介绍了如何通过mysql命令行对mysql数据库进行操作。在php中,使用mysql扩展来实现对mysql数据库的操作。其基本操作方法与在命令行上进行操作大致相同,只是操作命令都是写到php脚本中来完成的。本章将介绍如何使用php对数据库操作,并具体介绍php与mysql的结合使用。

10.1php结合数据库应用的优势145

10.2web数据库的工作原理145

10.3使用php操作mysql数据库146

10.3.1数据库服务器的连接与断开146

10.3.2选择数据库147

10.3.3执行sql语句147

10.3.4获得查询结果集中的记录数149

10.3.5获得结果集中的某一条记录149

10.3.6逐行获取结果集中的每一条记录150

10.3.7结果集的分页152

10.3.8用户动态添加记录153

10.3.9用户动态更新记录155

10.3.10用户动态删除记录157

10.4使用php获取mysql数据库的信息158

10.4.1获取数据库的信息159

10.4.2获取表的信息159

10.4.3获取列的数目160

10.4.4获取列的名称160

10.4.5获取列的数据类型160

10.4.6获取列的长度161

10.4.7获取列的标志161

10.4.8一个完整的查看表中各列属性的实例162

10.5常见问题与解决方案162

10.6小结164

第11章数据库中的程序逻辑165

上一章介绍了使用php对mysql数据库进行存取,在一般性的应用中,使用php直接对数据库进行存取的方法应用非常广泛。有时候,一些基本的数据库应用可能会被反复用到。如果使用php反复执行这一相同操作,不仅麻烦而且会影响代码的运行效率。

因此,在某些时候,对于一些小型并且频繁使用的数据库操作,可以将其交给数据库来完成。本章将以mysql数据库为例,介绍如何在数据库中实现这些程序逻辑。

11.1数据库程序逻辑与php程序逻辑的分体设计原则165

11.2数据库程序逻辑与数据的关系165

11.3存储过程的设计166

11.3.1定界符重定义166

11.3.2存储过程的创建与调用167

11.3.3存储过程的参数168

11.3.4复合语句170

11.3.5变量170

11.3.6条件语句172

11.3.7循环语句173

11.3.8游标175

11.3.9存储过程的删除177

11.4触发器的设计177

11.4.1触发器的创建与触发177

11.4.2触发器的删除178

11.5php与存储过程、触发器178

11.5.1php调用存储过程178

11.5.2php调用触发器179

11.6小结180

第12章session与cookie181

在数据库应用中,难免会涉及用户登录功能的编写。在一些系统中,往往也需要识别用户的身份。因此,session与cookie是web应用特别是数据库应用中不可或缺的两个要素。正是由于session和cookie的存在才使页面间信息的安全传递成为可能。本章将结合数据库的使用实例来介绍php中session和cookie的应用。

12.1session与cookie简介181

12.2php中session的实现181

12.2.1标识开始使用session182

12.2.2session预定义数组182

12.2.3session的检测与注销182

12.2.4php中session处理的定制183

12.3session应用实例——登录验证187

12.3.1数据库设计187

12.3.2html表单的设计187

12.3.3验证页面的编写188

12.3.4欢迎页面的编写189

12.3.5注销页面的编写189

12.3.6代码的运行189

12.3.7代码的改进190

12.4php中cookie的实现191

12.4.1cookie语法格式191

12.4.2cookie预定义数组191

12.4.3创建一个cookie191

12.4.4创建一个有时间限制的cookie192

12.4.5创建一个有范围限制的cookie192

12.4.6删除cookie193

12.4.7浏览器重定向193

12.4.8cookie的常见问题193

12.5cookie应用实例——登录验证194

12.5.1html表单的设计194

12.5.2验证页面的编写194

12.5.3欢迎页面的编写195

12.5.4注销页面的编写196

12.5.5代码的运行196

12.6cookie与session的比较197

12.7小结197

在前面几章中,介绍了mysql与php结合使用的方法,以及如何在php中使用session和cookie。本章将从一个php留言本的整体设计入手,详细介绍在实际应用中如何使用php结合mysql开发基于web的应用程序。

13.1留言本实例的系统分析198

13.1.1系统简介198

13.1.2系统模型设计198

13.1.3数据库设计199

13.1.4公共功能设计200

13.2使用mysql与php创建一个留言本200

13.2.1查看留言功能201

13.2.2发表留言功能203

13.2.3管理员身份验证功能205

13.2.4管理首页设计206

13.2.5留言回复功能208

13.2.6留言删除功能209

13.2.7留言回复删除功能210

13.2.8留言审批功能210

13.2.9退出管理员登录功能211

13.3小结211

第14章postgresql与php的应用212

前面几章对mysql数据库系统与php的应用作了一些详细介绍。本章将向读者介绍另外一种常与php结合使用的数据库系统postgresql。通过学习本章,读者将不仅掌握一些postgresql的常用操作方法,也将对如何使用php操作postgresql有一个初步的了解。

14.1postgresql简介212

14.2postgresql的安装212

14.2.1postgresql的下载212

14.2.2postgresql的安装步骤213

14.2.3postgresql服务的启动与停止214

14.3postgresql的基本操作214

14.3.1pgAdminiii的启动214

14.3.2服务器的连接214

14.3.3创建一个新数据库215

14.3.4创建一个表215

14.3.5对表中数据的操作217

14.3.6sql语句的执行217

14.4使用php存取postgresql数据库218

14.4.1使用php的postgresql扩展218

14.4.2数据库的连接与关闭218

14.4.3执行sql语句219

14.4.4获得查询结果集中的记录数220

14.4.5逐行获取结果集中的每一条记录221

14.4.6数据的插入、更新和删除222

14.4.7执行动态sql语句225

14.4.8information_schema227

14.5小结228

前面两章对php与mysql和postgresql数据库服务器的连接进行了简单介绍。在实际应用中,由于mysql和postgresql的大型数据处理能力比较差,因而往往使用较大型的数据库系统进行部署。sqlserver就是微软推出的一款适合较大型系统使用的数据库服务器软件。本章将对sqlserver与php的应用进行介绍。

15.1sqlserver简介229

15.2sqlserver的安装230

15.2.1sqlserver的安装步骤230

15.2.2sqlservermanagementstudio231

15.3sqlserver的基本操作232

15.3.1创建一个数据库232

15.3.2创建一个表232

15.3.3对表中数据的操作233

15.3.4sql语句的执行233

15.4使用php存取sqlserver数据库234

15.4.1使用php的mssql扩展234

15.4.2数据库的连接与关闭234

15.4.3执行sql语句235

15.4.4获得查询结果集中的记录数236

15.4.5逐行获取结果集中的每一条记录237

15.5小结239

第16章oracle与php的应用240

上一章介绍了sqlserver与php的应用。与sqlserver类似,oracle是甲骨文公司推出的一款大型数据库管理系统。在实际应用中,oracle具有更高的数据处理和管理能力。因此,oracle受到了很多大型企业的青睐。本章将介绍oracle的基本操作以及与php的应用。

16.1oracle简介240

16.2oracle的安装241

16.2.1oracle的安装过程241

16.2.2oracleapplicationexpress241

16.3oracle的基本操作242

16.3.1创建一个表242

16.3.2对表中数据的操作244

16.3.3sql语句的执行244

16.4使用php存取oracle数据库245

16.4.1使用php的oci8扩展245

16.4.2数据库的连接与关闭246

16.4.3执行sql语句246

16.4.4逐行获取结果集中的每一条记录247

16.5小结248

目前市场上流行的数据库有很多种,虽然这些数据库在开发时遵循同样的一个标准,但是,每种数据库都有一些与其他同类产品不一样的地方。本章将主要介绍不同种数据库间的差异,并对php与不同数据库的操作上的差异作一些介绍。

17.1sql语言标准以及常见关系型数据库的sql扩展249

17.1.1ansisql语言标准249

17.1.2mysql对ansisql的扩充250

17.1.3sqlserver的t-sql251

17.1.4oracle的pl/sql252

17.2php数据库应用的差异253

17.2.1mysql与php的应用253

17.2.2postgresql与php的应用253

17.2.3sqlserver与php的应用254

17.2.4oracle与php的应用255

17.2.5sqlite与php的应用255

17.2.6access与php的应用256

17.2.7odbc与php的应用256

17.3小结258

第3篇php的高级应用

第18章pear、pecl的应用260

本书前面的章节介绍了php的基本使用以及与数据库结合的实例。通过对前面的学习,读者应该能够使用php设计并实现一些常见的功能了。很多时候,并不需要自己逐行完成应用中的所有代码,因为很多常见的功能可能早已被人开发出来了。如果能够有效地利用这些资源,就能在实际开发中达到事半功倍的效果。本章将介绍的pear与pecl就是这样的资源库。

18.1pear与pecl的介绍260

18.2pear类库组件的安装260

18.3pear类库的安装与使用264

18.3.1查看已安装pear包264

18.3.2查看pear包的详细信息264

18.3.3安装一个pear包265

18.3.4pear包的升级266

18.3.5pear包的使用266

18.4常用的pear类库实例266

18.4.1使用db类库进行数据库查询267

18.4.2使用auth_http类库进行身份校验269

18.4.3使用html_template_it类库进行模板替换271

18.5pecl扩展库的安装与使用272

18.6pecl扩展库应用实例——zip扩展272

18.6.1zip扩展的安装273

18.6.2一个zip扩展应用实例273

18.7小结274

第19章adodb类库应用275

本书第2篇介绍了php与mysql等几种常用数据库的结合使用。php提供了多种数据库访问组件来访问不同类型的数据库。php的这种机制为php程序员制造了很多麻烦,为了访问不同种类的数据库,不得不记住多种多样的数据库存取函数。而本章将要介绍的adodb类库则有效地解决了这个问题。adodb类库通过对不同数据库的差异封装,可使php应用可以轻松地在不同的数据库之间进行切换。

19.1adodb介绍275

19.1.1adodb的优势275

19.1.2adodb的适用场合276

19.2adodb类库的安装与配置276

19.2.1adodb的下载与安装276

19.2.2adodb的第一个测试程序276

19.3adodb的常用数据库操作278

19.3.1连接数据库278

19.3.2数据的插入、更新和删除281

19.3.3数据查询281

19.3.4记录分页的实现283

19.3.5多个数据库的连接方法285

19.4adodb的程序调试286

19.5小结288

pdf文档格式是当前流行的电子文档与电子表格的一种标准格式。pdf提供了完善的压缩处理,无论创建者创建的pdf文档使用了什么字体,使用了什么样的图片或者版式设计,浏览者都可以通过免费的adobereader对其进行阅读。本章将要介绍的是一个可以用php创建pdf文档的类库fpdf。

20.1fpdf简介289

20.2fpdf的安装与配置289

20.3fpdf创建pdf文档289

20.3.1fpdf创建helloworld290

20.3.2在pdf中插入图片291

20.3.3页眉与页脚292

20.3.4绘制表格293

20.4为fpdf增加中文支持295

20.5fpdf的实际应用296

20.5.1为文章系统创建pdf页面297

20.5.2动态生成企业产品名录299

20.6小结300

第21章php的缓存与静态化应用301

前面已经介绍了许多php应用的例子,这些例子无一例外是通过访问php脚本文件来完成的。

用户每次在浏览器端的访问都是对php脚本的执行过程,程序根据用户的需要返回信息。对于一些大型系统,访问量往往很大,频繁的动态操作与数据库操作大大加重了服务器的负担。

在这种情况下,通常使用缓存技术或者静态化操作。也就是将php脚本的页面结果放到缓存中,或者放到静态html文件中。这样,访问者在访问页面时,不必重新执行动态php代码即可获得结果,可大大缓解服务器的负担。本章将介绍缓存机制与静态化的原理,以及使用php实现静态化的方法。

21.1为什么要静态化301

21.2大型应用的缓存机制与静态化304

21.2.1缓存机制304

21.2.2静态化机制305

21.3php如何实现静态化305

21.3.1根据模板生成静态页面305

21.3.2数据库与静态页的关系306

21.3.3静态页内容的修改308

21.3.4模板的替换309

21.3.5静态页上的动态操作310

21.3.6静态页面文件的目录311

21.4小结314

第22章php与xml格式操作315

xml是一种流行的半结构化文件格式,以一种类似数据库的格式存储数据。在实际应用中,一些简单的、安全性较低的数据往往使用xml文件的格式进行存储。这样做一方面可以通过减少与数据库的交互性操作提高读取效率,另一方面可以有效利用xml的优越性降低程序的编写难度。

php提供了一整套的读取xml文件的方法,很容易就可以编写基于xml的脚本程序。本章将介绍php与xml的操作方法,并对几个常用的xml类库作一些简要介绍。

22.1xml简介315

22.2简单的xml操作316

22.2.1创建一个simplexml对象316

22.2.2读取simplexml对象中的xml数据318

22.2.3xml数据的修改322

22.2.4标准化xml数据322

22.2.5xml数据的存储322

22.3xml文档的动态创建323

22.3.1dom简介324

22.3.2dom文档的创建与使用324

22.3.3dom元素的操作327

22.3.4dom节点的操作329

22.3.5dom组件操作实例329

22.4xslt的使用330

22.4.1xslt简介331

22.4.2使用php与xslt生成html页面332

22.5xml应用实例一——留言本333

22.5.1xml文件结构设计333

22.5.2提交页面的编写334

22.5.3显示页面的编写335

22.6xml应用实例二——为网站生成rss页面336

22.6.1什么是rss336

22.6.2rss页面的编写338

22.7小结339

第23章smarty类库340

前面的章节介绍了很多在html页面中内嵌php代码的例子。随着web技术的不断发展,很多web程序员已经不再满足于这种在html页面中内嵌php代码的方法。因为这样做的一个很大弊端是为后期维护带来了很多麻烦,程序员不得不修改php代码来迎合页面设计的改动。

本章要介绍的smarty类库有效地解决了这一问题。smarty类库通过建立模板库来存放静态html页面中的html代码,并使用php代码对其中的元素进行赋值。这样,当页面的设计发生变化时,只需要修改模板页面就可以了。

23.1smarty简介340

23.2smarty的安装与配置341

23.2.1smarty的安装341

23.2.2smarty的配置341

23.3smarty程序设计342

23.3.1简单的smarty程序设计342

23.3.2模板对象属性的定义343

23.3.3smarty程序编写的一般步骤344

23.4smarty模板设计344

23.4.1模板中的变量344

23.4.2变量的修饰345

23.4.3区域循环方法346

23.4.4模板中的条件判断348

23.4.5外部文件的载入350

23.5smarty的实际应用——多模板网站351

23.5.1模板的设计351

23.5.2页面实现352

23.6小结353

第24章thinkphp框架354

上一章介绍了使用smarty类库进行应用系统开发。smarty使用模板构架有效地分离了代码与页面,当页面发生变化的时候,程序员并不需要修改代码。本章将要介绍另外一种基于模板的开发框架——thinkphp框架。

thinkphp框架是近两年刚刚发展起来的一个php应用开发框架。该框架借鉴了很多优秀框架的经验和模式,使用最通用的mvc构架和面向对象理念,是一款可以实现网站快速开发的优秀的轻量级框架。

24.1thinkphp的安装与项目创建354

24.1.1thinkphp的获取与安装354

24.1.2项目入口文件354

24.1.3项目的创建355

24.2项目的配置355

24.3控制器类的创建356

24.3.1控制器的模块与操作356

24.3.2url的处理358

24.4模型类的创建358

24.4.1模型的定义与实例化359

24.4.2数据库的连接与操作360

24.5模板文件的编写362

24.5.1模板中的变量362

24.5.2模板中函数的使用363

24.5.3几种基本标签的使用364

24.6thinkphp应用实例——在线日程表366

24.6.1数据库的设计366

24.6.2模板的设计367

24.6.3控制器的实现368

24.7小结369

随着web技术的发展,传统的编程模式已经越来越不能满足日益快速的技术发展。近些年来,一些致力于整合功能的框架技术蓬勃发展起来。上一章介绍的thinkphp框架是一个可以满足基本需要的轻量级框架。而由zend公司构建的框架zendframework则更适合大型系统的开发。本章将简要介绍zendframework的使用方法。

25.1zendframework的安装与项目创建370

25.2dispatcher与bootstrap372

25.3控制器程序的编写372

25.3.1首页控制器程序的编写373

25.3.2其他页面控制器程序的编写374

25.4视图文件的调用376

25.4.1默认视图文件的使用376

25.4.2模板文件的调用376

25.5数据模型的生成377

25.5.1数据库的连接377

25.5.2数据模型的创建378

25.5.3数据模型的使用379

25.6用户表单的处理380

25.6.1用户表单的生成380

25.6.2表单数据的验证与过滤382

25.7zendframework应用实例——留言本384

25.8小结388

第26章cakephp框架389

cakephp是近两年来新生的一款开源的php框架。该框架的设计理念来自ruby的rails框架,使php程序员可以比较迅速地创建web应用程序。cakephp框架使用了mvc体系结构,同时兼容php4和php5,并且拥有很灵活的数据模型与权限管理机制。因此,近年来cakephp受到了越来越多php程序员的关注与青睐。cakephp的最新版本为1.3.0,本章将以该版本为例简要介绍cakephp的使用方法。

26.1cakephp的安装与配置389

26.2scaffolding简介391

26.3cakephp的数据模型392

26.3.1数据模型的定义392

26.3.2数据的查询393

26.3.3数据的保存395

26.3.4数据的删除397

26.3.5对象的关联398

26.4控制器的编写400

26.4.1控制器的基本使用400

26.4.2控制器的属性与方法401

26.5视图的调用404

26.5.1视图的布局404

26.5.2视图的元素405

26.5.3视图的缓存405

26.6acl权限控制406

26.6.1什么是acl406

26.6.2使用配置文件定义权限407

26.6.3使用数据库定义权限408

26.7cakephp应用实例——员工工资单409

26.7.1登录框与权限控制409

26.7.2工资单页面的编写410

26.8小结412

第27章symfony框架413

前面几章介绍了几种常见的php开发框架。本章将继续介绍另一种近几年流行起来的新的开发框架symfony。symfony框架也是一款基于mvc架构的框架,并且使用到了一些其他php开源项目的部分代码以增强其功能。因此,近年来symfony受到了越来越多大型项目的青睐。symfony框架的最新版本为1.4.3,本章将以该版本为例简要介绍symfony的使用方法。

27.1symfony的安装413

27.2开始一个新项目414

27.3symfony的数据模型416

27.3.1schema的编写416

27.3.2数据模型初始化420

27.4控制器与视图421

27.4.1项目的基本构架421

27.4.2视图的布局422

27.4.3控制器与模板424

27.5管理生成器426

27.5.1管理后台的生成427

27.5.2管理后台的配置427

27.6symfony应用实例——个人博客430

27.7小结433

第28章php与图像操作434

php不仅可以用来生成html页面,还可以用来创建和操作二进制文件,例如图片。使用php程序动态生成图片可以实现生成缩略图、验证码等多种功能,在实际应用中很常用。在php中,通常使用gd库来实现对图像的操作。本章将介绍如何使用gd库来操作图像文件。

28.1php图像函数库简介434

28.2gd库的配置434

28.3一个简单图像创建程序436

28.4gd库的应用实例437

28.4.1使用gd库创建图片缩略图437

28.4.2使用gd库生成验证码439

28.4.3使用gd库下载远程图片441

28.4.4使用gd库为页面增加水印441

28.5小结442

上一章介绍了如何使用gd库来创建图像。使用gd库提供的各种函数可以生成多种图像,但是,如果需要在php中创建一些统计图,使用gd库就显得很麻烦了。本章将要介绍一种专门用于输出统计图的jpgraph库。该库在数据统计等方面有很大优势。在实际应用中,可以很容易使用jpgraph生成大方得体的统计图。

29.1jpgraph简介443

29.2jpgraph的安装与配置443

29.2.1jpgraph的安装443

29.2.2jpgraph的配置444

29.3jpgraph绘制统计图实例444

29.3.1简单的x-y坐标图444

29.3.2改进的x-y坐标图447

29.3.3柱形图450

29.3.4饼图451

29.3.53d饼图452

29.4jpgraph应用实例——工厂销量查询系统453

29.5小结457

第30章php访问ldap服务器458

ldap的全称是“轻量级目录访问协议(lightweightdirectoryaccessprotocol)”,是一种简单的目录协议。所谓目录,是一种专门的数据库,可以服务于任何应用程序。在企业应用中使用ldap可以让企业范围内的所有应用程序从LDAP目录中获取信息,使应用程序可以通过网络直接从ldap目录获取信息,而不再局限于操作系统与服务器的类型。本章将主要介绍如何使用php来访问ldap。

30.1ldap简介458

30.2ldap服务器的安装与配置459

30.2.1openldap的安装459

30.2.2openldap的配置460

30.2.3openldap的启动与关闭461

30.2.4openldap的数据操作462

30.2.5phpldapadmin简介463

30.3php中ldap扩展的配置464

30.4php与ldap的相关操作464

30.4.1连接ldap服务器464

30.4.2绑定ldap服务器465

30.4.3断开ldap服务器465

30.4.4查询ldap目录内容465

30.4.5获得查询结果中的值467

30.4.6计算查询结果中的记录数468

30.4.7向ldap添加一条新记录469

30.4.8更新ldap中的一条记录469

30.4.9从ldap中删除一条新记录470

30.4.10错误处理470

30.5使用ldap验证用户身份471

30.6小结472

在实际应用中,通常需要使用邮件系统来与网站的访问者交流。例如,一个网站的新注册用户可以通过邮件来获取注册确认信息,也可以通过邮件来找回密码等。因此,在一些常见的网站系统中,往往包含邮件发送的功能。本章将介绍如何使用php来发送邮件。

31.1php邮件发送功能配置473

31.1.1php中的smtp功能配置473

31.1.2建立自己的smtp服务器474

31.2php中的mail函数476

31.2.1简单的邮件发送方法476

31.2.2发送html格式文本477

31.2.3发送带附件的邮件477

31.3一个简单的邮件发送类479

31.3.1邮件发送类的创建479

31.3.2邮件发送系统的实现481

31.4小结483

第32章php优化器与加速器484

php代码在运行时是通过编译器首先编译成中间代码,然后再被服务器运行得到用户所需要的结果。因此,中间代码的优劣直接决定了代码的最终运行速度。目前,有一些常见的php加速器可以通过对中间代码进行优化来提高php代码的运行速度。这样,网站的访问者就可以更快地打开网页。

本章将介绍几款常见的php加速器,读者可以根据实际情况选择其中的一款安装,从而有效地提高php的运行效率。

32.1优化器ZendOptimizer484

32.1.1zendoptimizer的安装484

32.1.2zendoptimizer的配置486

32.2加速器phpaccelerator487

32.2.1phpaccelerator的安装487

32.2.2phpaccelerator的配置488

32.3开源的优化器turckmmcache488

32.3.1turckmmcache的安装489

32.3.2turckmmcache的配置489

32.4开源的加速器eaccelerator490

32.5小结490

第4篇php与实际项目

第33章用php构建内容管理系统cms492

cms是“内容管理系统(contentmanagementsystem)”的缩写,任何基于内容的网站系统都可以称为cms。例如,文章管理、图片管理以及综合网站管理程序都是cms的典型实现。一般的cms系统都是基于模板设计,网站开发人员可以通过简单地修改模板的设计快速实现网站所需功能。本章将以一个简单的文章管理程序为例,说明如何开发一个cms系统。

33.1了解cms需求492

33.2数据库设计492

33.3关键技术的实现495

33.3.1数据库连接公用代码496

33.3.2网站开关的设计496

33.3.3模板更换机制496

33.3.4html编码转换497

33.4页面代码设计497

33.4.1首页的实现497

33.4.2注册页面的实现501

33.4.3分类文章列表页面与文章显示页面的实现503

33.4.4投稿页面与添加新文章页面的实现507

33.4.5文章管理页面的实现509

33.4.6文章类别维护页面的实现513

33.4.7网站参数配置页面的实现518

33.4.8网站模板管理页面的实现521

33.4.9退出登录页面的实现524

33.5小结525

互联网时代是一个信息爆炸的时代,面对着信息高速膨胀的互联网,怎样快捷有效地得到自己所需要的信息成为了一个关键的课题。于是,各种各样的搜索引擎在互联网上诞生了出来,例如,google、yahoo和百度等,都是流行的搜索引擎。这些搜索引擎已经逐渐成为人们生活不可或缺的一部分。

本章将要介绍如何使用php来进行信息搜索,以及调用这些现有的搜索引擎进行搜索。

34.1php对数据库数据的搜索526

34.1.1数据库创建526

34.1.2搜索页面的设计527

34.1.3内容显示页面的设计528

34.1.4系统集成的调度策略529

34.2php对文本文件的搜索530

34.3php对现有搜索引擎的调用531

34.4小结533

oa是办公自动化(officeautomation)的缩写。oa系统是基于internet或intranet的概念、以企业工作流为基础构建的办公自动化系统。oa系统能够有效地对企业信息进行管理,并且在企业内部共享信息。oa系统的存在改变了过去复杂低效的办公模式,使办公管理和决策变得更加简单。本章将以一个简单的oa系统为例来介绍如何使用php开发oa系统。

35.1了解企业oa系统的需求534

35.2数据库设计535

35.3关键技术的实现536

35.3.1根据登录用户的权限进入不同的页面536

35.3.2项目与任务状态的级联更新537

35.4页面代码的设计538

35.4.1公共数据库连接代码538

35.4.2登录页面的设计538

35.4.3管理员/经理项目列表页面的设计540

35.4.4创建新项目页面的设计542

35.4.5项目修改页面的设计545

35.4.6普通员工任务列表页面的设计550

35.4.7新账号分配页面的设计552

35.4.8账号权限设置页面的设计555

35.4.9过期项目统计页面的设计558

35.4.10经理项目分配情况统计页面的设计560

35.4.11员工任务分配情况统计页面的设计561

35.4.12公司项目运营情况统计页面的设计562

35.5小结565

上一章介绍了如何使用php构建一个简单的oa系统。在企业的日常工作中,往往需要遵循一些流程来工作。例如,报销发票的流程可以是报销人提出申请→相关经理批准→财务主管批准→支付报销金额给报销申请人等。流程管理系统可以简单地实现对流程中各个过程进行追踪并提示相关人员完成流程中相应的步骤。本章将以一个设备维修流程的管理系统为例简要介绍如何使用php来构建流程管理系统。

36.1流程管理系统的需求566

36.2数据库设计567

36.3关键技术的实现569

36.3.1使用触发器来记录请求更新日志569

36.3.2根据角色的不同对请求进行不同的操作569

36.4页面代码的实现570

36.4.1设备维修请求列表页面的实现570

36.4.2提交新请求页面的实现572

36.4.3需要执行操作的请求列表页面的实现574

36.4.4对请求执行操作页面的实现576

36.4.5操作日志列表页面的实现582

36.5小结584

第37章php与资源管理系统585

前面两章站在企业层面上介绍了如何使用php创建企业oa系统和流程管理系统。目前常见的企业级系统还包括资源管理系统(enterpriseresourcemanagementsystem,erm)。所谓资源包含企业中的网络资源、工程方面的资源和财务资源等。一个完整的资源管理系统应该包括对资源的数据存储、业务分析以及辅助决策等,并且要与其他现有系统具有良好的接口。本章将以一个小型库存资源管理系统为例,简要介绍如何使用php构建一个资源管理系统。

37.1资源管理系统的需求585

37.2数据库设计586

37.3关键技术的实现588

37.3.1使用sql计算奖金额度589

37.3.2使用触发器来限制奖金额度589

37.3.3使用存储过程从其他数据表获取数据590

37.3.4自动生成php代码控制网站开关590

37.3.5使用jpgraph生成统计图591

37.4各功能模块的具体实现592

37.4.1用户权限认证的实现592

37.4.2订单输入模块的实现593

37.4.3库存管理模块的实现597

37.4.4账目管理模块的实现601

37.4.5奖金计算模块的实现606

37.4.6年度统计模块的实现609

37.5小结611

第38章多国语言处理策略612

前面几章介绍了如何使用php来开发一些实际项目。随着信息全球化的高速发展,应用系统向全球化发展的趋势也越加明显。例如,一个跨国企业的办公系统可能要面向这家跨国企业分布在全球的多家分公司,在开发这个办公系统时可能就需要对多种语言提供支持。本章将以一个小型系统为例来介绍一下如何对php开发的系统提供多国语言支持的功能。

38.1对字符编码与gb2312、gbk和utf-8的理解612

38.1.1gb2312与gbk612

38.1.2unicode、ucs与utf-8612

38.1.3网页编码的实现613

38.2gls设计思想简介614

38.3客户端语言选项的设置与获取615

38.3.1客户端语言选项的设置615

38.3.2使用php获取客户端语言选项615

38.4一个简单的带有多国语言支持的应用开发615

38.4.1数据库设计615

38.4.2页面代码的开发616

38.4.3语言设置页面的开发620

38.4.4语言配置文件选取页面的开发620

38.4.5语言配置文件的设计621

38.5小结624

在互联网发达的今天,网民的数量也在高速增长,越来越多的大型网站通过将各种数据资源和互联网资源结合起来构成了门户网站。门户网站通过将新闻系统、聊天室、bbs和电子商务等多种应用系统整合起来为用户提供了丰富的互联网信息。本章将主要介绍php在门户网站中的一些应用。

39.1门户网站的特点625

39.2静态缓存和动态缓存626

39.2.1静态缓存与动态缓存简介626

39.2.2一个对系统实现静态缓存的例子626

39.2.3一个对系统实现动态缓存的例子628

39.3门户网站中的交互设计630

39.3.1什么是交互设计631

39.3.2一个不好的交互设计例子631

39.3.3改进的交互设计例子633

39.4负载均衡技术简介635

39.4.1常用的负载均衡技术635

39.4.2常用的负载均衡算法636

39.5一个使用用户排队机制解决网站大访问量的例子636

39.6小结638

第5篇php的扩展应用

前面介绍了使用php构建服务器端页面,用户可以通过浏览器访问远程服务器上的php页面来实现与服务器的交互操作。除此之外,php还可以用来开发网络客户端,用户可以在自己的主机上访问远程服务器,甚至可以通过命令行来与远程服务器进行交互。本章将介绍如何使用php访问远程web服务器和ftp服务器,以及使用命令行来运行php代码。

40.1php访问远程web页面640

40.1.1fsockopen函数640

40.1.2一个远程提交数据的实例641

40.2php订阅rss642

40.2.1下载远程rss642

40.2.2rss的解析与保存643

40.3php访问ftp服务器644

40.3.1连接和断开ftp服务器644

40.3.2登录ftp服务器644

40.3.3获取文件列表645

40.3.4文件的上传、下载和删除646

40.3.5目录的创建和删除647

40.4php的命令行模式648

40.4.1php命令行程序简介648

40.4.2执行参数的获取649

40.4.3一个使用命令行方式访问ftp的实例649

40.5小结652

第41章php与xml-rpc、soap653

前面介绍了如何通过访问php页面来实现与服务器的交互。除此之外,php还支持开发供程序调用的接口页面。通过这些接口,远程程序可以很容易地实现与服务器的交互操作,而不需要复杂地通过对一般页面进行读取来进行交互。本章将介绍两种最常见的远程调用的技术以及使用php的实现方法。

41.1xml-rpc简介653

41.1.1客户端请求的xml格式653

41.1.2服务器响应的xml格式656

41.1.3错误信息的xml格式656

41.2php与xml-rpc的结合实例657

41.2.1php的xml-rpc库介绍657

41.2.2php服务器端页面的编写658

41.2.3php客户端页面的编写659

41.3soap简介659

41.4php的soap应用实例660

41.4.1soap扩展库的使用方法660

41.4.2服务器端的编写661

41.4.3客户端的编写662

41.5小结662

第42章php与webservice663

上一章介绍了如何使用php通过xml-rpc和soap进行远程访问以及远程过程调用的方法,这些技术不单单实现了通过浏览器对页面的直接访问,而且提供了可供程序调用的函数为客户端程序提供了便利。这种技术往往被称为webservice,在互联网技术发展的今天,webservice提供了一种可编程的数据接口方便了其他程序或客户端的调用。本章将介绍webservice技术以及如何使用php来实现。

42.1webservice简介663

42.2wsdl、uddi与webservice664

42.2.1wsdl简介664

42.2.2uddi简介664

42.3php与webservice的交互操作665

42.3.1NuSOAP类库665

42.3.2php创建webservice666

42.3.3php访问webservice668

42.4小结670

第43章php与ajax671

ajax是近年来刚刚流行起来的一种技术,全称是asynchronousjavascriptandxml(异步javascript和xml)。ajax是多种技术的综合应用,主要包括javascript技术、xml技术、dom技术和xmlhttprequest控件等。ajax作为web2.0的一个重要技术,大大推动了web技术的发展。本章将结合php来简要介绍一下ajax的一些常见应用。

43.1ajax简介671

43.1.1ajax工作原理671

43.1.2ajax的优势与劣势672

43.2xmlhttprequest的使用672

43.2.1ajax初始化672

43.2.2xmlhttprequest的属性和方法673

43.2.3简单的服务器请求674

43.2.4html文件的读取675

43.2.5xml文件的读取677

43.3php与ajax的交互679

43.3.1使用get方式与php交互679

43.3.2使用post方式与php交互681

43.4ajax应用实例682

43.4.1用户名唯一性验证的实现682

43.4.2动态列表框的实现684

43.4.3局部刷新页面的实现685

43.4.4自动刷新页面的实现688

43.4.5进度条的实现689

43.4.6表单输入提示的实现691

43.5小结693

本书前面的章节介绍了php的开发与应用。在进行php开发时,有时难免遇到无法使用php解决或很难使用php来解决的问题,这时就需要使用php扩展功能来扩展php的功能了。本章将简要介绍如何在windows平台下进行php扩展的开发。

44.1php扩展开发简介694

44.2使用visualc++编写php扩展694

44.2.1php扩展开发的前期准备695

44.2.2php扩展代码模板的生成696

44.2.3模板代码的修改与编译697

44.2.4扩展模块的调用699

44.3一个扩展应用实例的开发——简单加密解密函数700

44.3.1加密函数的编写700

44.3.2解密函数的编写701

44.3.3测试代码的编写701

44.4小结702

参考资料

1.完全手册PHP网络开发详解·孔夫子旧书网

1.文章《PHP开发手册<span> php开发手册中文版下载pdf》援引自互联网,仅供学习和研究使用,内容仅代表作者本人观点,与本网站无关,侵删举报等反馈请点击此处

2.文章《PHP开发手册<span> php开发手册中文版下载pdf》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://100248.com/wen/526373.html

相关推荐

奋进新时代踏上新征程作文 启航新征程,奋进新时代作文

2022年奋进新时代踏上新征程作文9篇从作文的写作命题来分,作文可以分为命题作文和非命题作文。命题作文,一般是指出题者给出一个既定的题目,要

有趣的万圣节活动作文 有趣的活动作文500字以上

有趣的万圣节活动作文5篇作为一名合格的学生,对于自己的万圣节活动内容,可以书写作文进行描写记录。相信,很多朋友都对写作文感到非常苦恼吧,下面

万圣节快乐优质作文 快乐的万圣节作文

万圣节快乐优质作文7篇关于万圣节的到来,对于这一天的节日文化,可以书写作文记录自己的个人感想。那么,写作文时还应注意哪些问题呢?下面是由小编

万圣节活动推文怎么写 校园活动推文怎么写

万圣节活动推文怎么写5篇作为一名学生,对于自己的万圣节活动,应该书写作文记录下来。作文的事项有许多,那么,你确定会写吗?下面是由小编给大家带

万圣节的节日作文 万圣节是什么节日?

万圣节的节日作文7篇对于万圣节的节日文化,为了进一步进行了解,可以结合实际书写一篇作文。相信,很多朋友都对写作文感到非常苦恼吧,下面是由小编

有趣的万圣节作文评析 有趣的万圣节作文400字

有趣的万圣节作文评析5篇对于万圣节活动的开展,为了能够深入了解万圣节文化,因此需要书写一篇万圣节话题作文。那么,写作文时还应注意哪些问题呢?

感恩节的来历和意义简短 感恩节的来历和意义英文

感恩节的来历和意义简短7篇为了记录感恩节的活动经历,可以选择书写作文的方式,以此进行认识。那么,你有了解过作文吗?下面是由小编给大家带来的感

万圣节主题文章内容 文章内容切合主题

万圣节主题文章内容7篇对于万圣节的到来,每一个人都有自己的庆祝方式,为了了解这个节日的关联,可以书写作文进行探索。那么,写作文时还应注意哪些