《Zend Framework技术大全》内容简介:Zend Framework是Zend公司推出的一套PHP开发框架,该框架技术在PHP业界已经受到越来越多的关注。《Zend Framework技术大全》全面、系统、深入地介绍了Zend Framework的5大类30多类组件,全书内容涵盖Zend Framework安装调试、MVC组件、核心类组件、数据操作组件、Web服务组件、国际化组件等。另外,《Zend Framework技术大全》最后一章还通过一个以Zend Framework的MVC为架构的新闻管理系统演示了Zend Framework的实际MVC开发流程。
《Zend Framework技术大全》适合广大PHP网站开发人员、PHP Web应用程序开发人员和希望全面了解Zend Framework这一新兴技术的Internet编程技术人员。
视频列表
视频1:
Zend Framework简介(03:21)
视频2:
安装调试环境(11:59)
视频3:
MVC控制器(23:28)
视频4:
MVC视图(12:45)
视频5:
JSON操作(08:40)
视频6:
动态加载类与文件(09:58)
视频7:
对象注册表(13:23)
视频8:
使用配置数据(16:04)
视频9:
命令的设置与参数(14:00)
视频10:
过滤器(22:20)
视频11:
校验器(23:53)
视频12:
调试与异常处理(05:04)
视频13:
处理URL(08:03)
视频14:
数据缓存(19:24)
视频15:
会话处理(19:12)
视频16:
访问控制列表(19:42)
视频17:
访问认证适配(18:43)
视频18:
限制内存下管理环境(15:20)
视频19:
邮件操作(22:05)
视频20:
MIME处理(15:29)
视频21:
Log处理(26:25)
视频22:
Zend的版本(03:48)
视频23:
文本搜索引擎(30:57)
视频24:
数据库操作(34:53)
视频25:
PDF文件操作(22:47)
视频26:
RSS与FEED(11:24)
视频27:
服务组件(07:59)
视频28:
HTTP服务(35:58)
视频29:
XML-RP(17:06)
视频30:
REST服务(12:52)
视频31:
其他Web服务(24:21)
视频32:
Google服务(35:48)
视频33:
本地化(26:19)
视频34:
多语言(10:59)
视频35:
日期时间(07:29)
视频36:
度量相关(12:40)
视频37:
MVC新闻管理系统(05:45)
书籍内容
第1章:对Zend Framework进行了概述,使读者对于什么是Zend Framework、Zend Framework的特点以及组成部分等内容有一个大致的了解。
第2章:介绍了进行Zend Framework开发的环境搭建过程,其中包括Apache的安装、PHP的安装及配置、MySQL的安装及配置以及Zend Framework的引用等内容。
第3章:介绍了MVC组件中核心——控制器组件(Zend_Controller)。控制器组件是MVC应用程序中的核心内容,通过本章内容的学习,读者对于MVC应有更深层的认识。
第4章:介绍了MVC组件中的视图组件(Zend_View)。视图组件负责MVC中的表现部分,与控制器结合,以此可以开发出MVC程序。
第5章:介绍了JSON组件(Zend_Json)。该组件在进行JSON格式的数据转换中扮演重要的角色。
第6章:介绍了动态加载类组件(Zend_Loader)。通过该组件可以实现类与文件的动态加载。
第7章:介绍了对象注册表组件(Zend_Registry)。把变量引入注册表,可以实现类似全局变量的应用。
第8章:介绍了配置数据组件(Zend_Config)。通过该组件可以非常方便地读取ini、xml文件中的配置信息。
第9章:介绍了命令的设置与参数组件(Zend_Console_Getopt)。该组件主要用于命令行模式,所以其使用范围相对较小。
第10章:介绍了过滤器组件(Zend_Filter)。使用过滤器可以实现对敏感内容的过滤,一方面可以净化网络环境,另外也可以提高网站的安全性。
第11章:介绍了校验器组件(Zend_Validate)。校验器负责检测指定内容是否符合校验规则,并根据检测结果进行相应的处理。
第12章:介绍了调试与异常处理组件(Zend_Debug、Zend_Exception)。其中的异常处理组件用于捕获程序的异常,可以随时了解程序在哪个方面出现了问题。
第13章:介绍了Uri组件(Zend_Uri)。通过该组件可以非常方便地对URL地址进行处理。
第14章:介绍了缓存数据处理组件(Zend_Catch)。通过该组件可以实现数据的缓存。
第15章:介绍了会话处理组件(Zend_Session)。该组件是使用Zend Framework进行会话处理时不可缺少的组件。
第16章:介绍了访问控制列表组件(Zend_Acl)。通过访问控制列表可以实现在用户、资源之间引入访问控制关系,只有特定用户可以访问特定资源。
第17章:介绍了访问认证适配器组件(Zend_Auth)。该组件是实现访问认证的关键。
第18章:介绍了在限制内存环境下的数据管理组件(Zend_Memory)。该组件主要用于限制内存的环境下程序对于数据的处理。
第19章:介绍了邮件处理组件(Zend_Mail)。通过该组件可以在Mail服务器的基础上实现邮件的发送。
第20章:介绍了邮件中的MIME处理组件(Zend_Mime)。通过该组件可以实现对多类MIME信息的控制与操作。
第21章:介绍了日志处理组件(Zend_Log)。通过该组件能够实现对于服务器的LOG日志进行读取操作,以便随时了解服务器的运行状态。
第22章:介绍了版本组件(Zend_Version)。该组件是Zend Framework中最简单的组件,通过该组件可以获取Zend Framework的当前版本,还可以对不同版本进行比较。
第23章:介绍了文本搜索引擎组件(Zend_ Search_Lucene)。通过该组件可以构建基于文本的全文搜索系统。
第24章:介绍了数据库操作组件(Zend_Db)。该组件是进行各种数据库操作的核心。
第25章:介绍了PDF操作组件(Zend_Pdf)。通过该组件可以实现对PDF文件的创建、修改以及各种绘图处理。
第26章:介绍了RSS与Feed操作组件(Zend_Feed)。通过该组件可以实现对RSS与XML文件的处理,进而构建相应的阅读器。
第27章:介绍了基本服务类组件(Zend_Server)。该组件是其他服务类组件的基础,为其他服务类组件提供支持。
第28章:介绍了HTTP服务组件(Zend_Http)。该组件用于处理与HTTP相关业务。
第29章:介绍了XML-RPC服务组件(Zend_Xmlrpc)。通过该组件可以实现XML-RPC服务。
第30章:介绍了REST服务组件(Zend_Rest)。通过该组件可以实现REST服务。
第31章:介绍了Zend Framework服务类组件中的一类组件,该类组件利用知名网站提供的API实现各种操作(Zend_Service),其中包括Amazon、Delicious、Flickr以及Yahoo等子类。
第32章:介绍了服务类组件中的Gdata组件(Zend_Gdata)。通过该组件可以利用Google API来使用Google提供的各种服务。
第33章:介绍了国际化组件中的本地化组件(Zend_Locale)。该组件可以完美解决同一程序可以在不同国家区域使用的问题。
第34章:介绍了国际化组件中的多语言组件(Zend_Translate)。该组件是实现程序多语言的必要工具。
第35章:介绍了日期时间组件(Zend_Date)。该类组件看似简单,但如果设置的时区不正确,程序也会产生各种问题。
第36章:介绍了度量相关组件(Zend_Measure)。通过该组件可以实现不同度量单位(如米与英尺)之间的转换。
第37章:通过一个简单的新闻管理系统具体演示了如何使用Zend的MVC组件进行实际开发,使用到了包括MVC组件在内的大量组件。
书籍目录
第一篇 Zend Framework 简介
第1章 Zend Framework简介 2
1.1 什么是Zend Framework 2
1.2 Zend Framework的特点 3
1.3 Zend Framework的应用案例 3
1.4 Zend Framework的组成部分 4
1.5 小结 6
第2章 安装调试环境 7
2.1 AMP的安装 7
2.1.1 安装Apache 7
2.1.2 测试Apache 9
2.1.3 安装PHP 10
2.1.4 测试PHP 11
2.1.5 安装MySQL 11
2.2 Zend Framework的安装 14
2.2.1 安装Zend Framework 15
2.2.2 测试Zend Framework 15
2.3 小结 16
第二篇 MVC组件
第3章 MVC控制器 18
3.1 Zend_Controller入门 18
3.1.1 目录结构 18
3.1.2 创建入口程序 19
3.1.3 创建默认的控制器 20
3.1.4 创建视图文件 21
3.2 Zend_Controller基础 23
3.3 前端控制器 25
3.3.1 常用方法 25
3.3.2 环境访问器方法 28
3.3.3 前端控制器参数 29
3.3.4 继承前端控制器 30
3.4 请求对象 31
3.4.1 访问请求对象 31
3.4.2 访问HTTP请求数据 31
3.4.3 访问HTTP请求基地址与子目录 32
3.4.4 子类化请求对象 33
3.5 路由器的使用 35
3.5.1 路由器的工作环境 35
3.5.2 使用路由器 36
3.5.3 基本的路由操作 37
3.5.4 4种基本路由 38
3.6 分发器 41
3.6.1 分发概述 41
3.6.2 子类化分发器 42
3.7 动作控制器 45
3.7.1 动作控制器简介 45
3.7.2 对象初始化 46
3.7.3 访问器 46
3.7.4 视图集成方法 47
3.7.5 其他实用方法 49
3.8 动作助手 49
3.8.1 初始化动作助手 49
3.8.2 助手经纪人 50
3.8.3 内建的动作助手 51
3.9 响应对象 57
3.9.1 使用方法 57
3.9.2 处理消息头 58
3.9.3 命名片段 59
3.10 小结 59
第4章 MVC视图 60
4.1 Zend_View简介 60
4.1.1 创建控制器脚本 60
4.1.2 创建视图脚本 61
4.2 控制器脚本 62
4.2.1 为变量赋值 63
4.2.2 调用视图并输出 64
4.2.3 视图脚本的路径 64
4.3 视图脚本 65
4.3.1 变量调用形式 65
4.3.2 转义输出 66
4.3.3 在视图中使用模板 66
4.4 视图助手 73
4.4.1 基本助手 73
4.4.2 视图助手的路径 75
4.4.3 编写自定义助手类 75
4.5 小结 76
第5章 JSON操作 77
5.1 JSON简介 77
5.2 JSON基本语法 77
5.3 使用JSON 79
5.3.1 将数据编码为JSON 79
5.3.2 将JSON解码为普通数据 80
5.3.3 PHP中的同类函数 82
5.4 小结 82
第三篇 核心组件
第6章 动态加载类与文件 84
6.1 加载文件 84
6.1.1 动态加载文件 84
6.1.2 判断文件属性 85
6.2 动态加载类 86
6.3 小结 87
第7章 对象注册表 88
7.1 创建对象注册表 88
7.1.1 为Registry实例化一个对象 88
7.1.2 使用set()方法为对象注册表设置值 89
7.2 访问对象注册表 91
7.2.1 用数组的方式访问 91
7.2.2 用对象的方式访问 91
7.3 编辑对象注册表 92
7.3.1 查询索引是否存在 92
7.3.2 删除静态注册表 93
7.4 小结 94
第8章 使用配置数据 95
8.1 从PHP配置文件中读取数据 95
8.1.1 从PHP数组中读取数据 95
8.1.2 从PHP配置文件中读取数据 96
8.2 从ini配置文件中读取数据 98
8.2.1 从ini文件中读取数据 98
8.2.2 以数组形式调用读出数据 100
8.3 从XML配置文件中读取数据 100
8.4 小结 102
第9章 命令的设置与参数 103
9.1 Getopt概述 103
9.2 定义Getopt规则 104
9.2.1 用短语法定义 104
9.2.2 用长语法定义 104
9.3 配置Zend_Console_Getopt 105
9.3.1 添加设置规则 105
9.3.2 添加参数列表 106
9.3.3 添加设置选项 107
9.4 取出配置与参数 107
9.4.1 通过名称获取配置 107
9.4.2 获取所有配置信息 108
9.4.3 获取没有配置的参数 109
9.5 小结 110
第10章 过滤器 111
10.1 过滤器的使用方法 111
10.1.1 使用单个过滤器 111
10.1.2 使用过滤器链 112
10.2 系统预定义过滤器 114
10.2.1 Alnum字母或数值过滤器 114
10.2.2 HtmlEntities HTML过滤器 115
10.2.3 Int整型数过滤器 116
10.2.4 StripTags HTML字符过滤器 117
10.3 Zend_Filter_Input过滤器 118
10.3.1 定义过滤与校验规则 119
10.3.2 创建Input过滤器 120
10.3.3 检索处理后的字段与其他内容 120
10.3.4 实战Zend_Filter_Input 121
10.4 创建自定义过滤器 124
10.5 小结 125
第11章 校验器 126
11.1 单个校验器的使用 126
11.1.1 使用new关键字 126
11.1.2 自定义返回的错误信息 128
11.1.3 使用静态方法is() 129
11.2 使用校验器链 130
11.3 预定义校验器 131
11.3.1 Date日期校验器 132
11.3.2 Hostname主机地址校验器 133
11.3.3 InArray数组包含校验器 134
11.3.4 Regex正则匹配校验器 135
11.4 编写自定义校验器 136
11.5 小结 138
第12章 调试与异常处理 139
12.1 Debug代码调试 139
12.2 Exception异常处理 140
12.3 小结 141
第13章 处理URL 142
13.1 关于URL 142
13.2 创建和验证URI 143
13.2.1 创建URI 143
13.2.2 验证URI 143
13.3 Zend_Uri的子类的公共方法 144
13.3.1 获取模式的名称 145
13.3.2 获取整个URI 145
13.3.3 重新验证URI 145
13.4 小结 146
第14章 数据缓存 147
14.1 数据缓存简介 147
14.2 缓存实现原理 148
14.3 Zend_Cache前端 151
14.3.1 Zend_Cache_Core 151
14.3.2 Zend_Cache_Frontend_Output 152
14.3.3 Zend_Cache_Frontend_Function 153
14.3.4 Zend_Cache_Frontend_Class 154
14.3.5 Zend_Cache_Frontend_File 155
14.4 Zend_Cache后端 158
14.4.1 Zend_Cache_Backend_File 158
14.4.2 Zend_Cache_Backend_Sqlite 158
14.5 小结 159
第15章 会话处理 160
15.1 Zend_Session会话简介 160
15.2 Zend_Session基本用法 161
15.2.1 实现会话 161
15.2.2 遍历会话命名空间 162
15.2.3 访问会话命名空间 163
15.3 Zend_Session高级用法 164
15.3.1 开启会话 164
15.3.2 锁定会话命名空间 165
15.3.3 为会话设置生命期 167
15.3.4 防止多重实例 168
15.4 对全局会话的管理 169
15.4.1 配置选项 170
15.4.2 会话生命期的补充 172
15.4.3 Headers Already Sent错误 172
15.5 小结 173
第16章 访问控制列表 174
16.1 资源与角色 174
16.1.1 Zend_Acl中的资源 174
16.1.2 Zend_Acl中的角色 175
16.2 创建并使用访问控制列表 175
16.2.1 创建ACL 176
16.2.2 注册角色及定义访问控制 176
16.2.3 查询ACL状态 177
16.3 ACL的高级用法 179
16.3.1 精细访问控制 179
16.3.2 移除控制规则 181
16.3.3 存储ACL到各种载体 183
16.3.4 有条件的访问规则 185
16.4 小结 186
第17章 访问认证适配器 187
17.1 Zend_Auth简介 187
17.1.1 适配器基础 187
17.1.2 适配器返回结果 188
17.1.3 身份的持久 189
17.1.4 使用Zend_Auth 190
17.2 常用的系统认证适配器 191
17.2.1 使用摘要式认证 191
17.2.2 数据库认证 193
17.2.3 HTTP认证 197
17.3 使用自定义认证适配器 199
17.4 小结 202
第18章 限制内存环境下管理数据 203
18.1 Zend_Memory简介 203
18.2 内存管理器 204
18.2.1 创建内存管理器 204
18.2.2 内存管理器的设置 205
18.2.3 管理内存对象 207
18.3 内存对象接口常用方法 209
18.3.1 getRef()方法 209
18.3.2 touch()方法 210
18.3.3 isLocked()方法 210
18.3.4 lock()方法 211
18.3.5 unlock()方法 212
18.4 小结 213
第19章 邮件操作 214
19.1 Zend_Mail组件的基本用法 214
19.1.1 创建对象 214
19.1.2 设置邮件内容 214
19.1.3 发送邮件 215
19.2 Zend_Mail高级用法 217
19.2.1 使用SMTP发送邮件 217
19.2.2 使用不同的Transport发送邮件 218
19.2.3 发送HTML内容 219
19.2.4 增加附件 219
19.2.5 增加收件人 221
19.2.6 控制MIME分界线 221
19.2.7 更多的头部信息 222
19.2.8 邮件的字符集与编码 223
19.3 读取邮件信息 224
19.3.1 从POP3服务器读取信息 224
19.3.2 打开本地存储器 225
19.3.3 打开远程存储器 226
19.3.4 匹配邮件信息的常用方法 227
19.4 小结 229
第20章 MIME处理 230
20.1 Zend_Mime组件简介 230
20.1.1 Zend_Mime的静态方法 230
20.1.2 Zend_Mime的常量 233
20.1.3 MIME分界线 234
20.2 Zend_Mime_Part 235
20.2.1 实例化Zend_Mime_Part对象 235
20.2.2 Zend_Mime_Part常用方法 237
20.3 Zend_Mime_Message 238
20.3.1 创建Zend_Mime_Message对象 238
20.3.2 增加MIME消息段 238
20.3.3 分界线处理 240
20.3.4 从字符串创建Zend_Mime_Message对象 241
20.4 小结 241
第21章 Log处理 242
21.1 Zend_Log简介 242
21.2 创建并使用Zend_Log对象 242
21.2.1 创建Zend_Log对象 243
21.2.2 使用日志消息 243
21.2.3 销毁日志对象 244
21.2.4 使用内建消息等级 245
21.2.5 使用自定义消息等级 245
21.2.6 日志事件 246
21.3 Zend_Log_Writer容器 247
21.3.1 Zend_Log_Writer_Stream对象 247
21.3.2 Zend_Log_Writer_Null对象 249
21.3.3 Zend_Log_Writer_Mock对象 249
21.3.4 Zend_Log_Writer_Db对象 250
21.3.5 使用组合的Writer 251
21.4 Zend_Log_Formatter格式 252
21.4.1 Zend_Log_Formatter_Simple对象 252
21.4.2 Zend_Log_Formatter_Xml对象 253
21.5 Zend_Log_Filter过滤器 255
21.5.1 过滤所有Writer 255
21.5.2 过滤指定的Writer 256
21.5.3 预定义过滤器 257
21.6 小结 258
第22章 Zend_Version 259
22.1 使用Zend_Version进行版本操作 259
22.1.1 获取当前Zend Framework的版本 259
22.1.2 在不同的Zend Framework版本之间进行比较 259
22.2 小结 261
第四篇 数据操作组件
第23章 文本搜索引擎 264
23.1 Zend_Search_Lucene简介 264
23.1.1 Zend_Search_Lucene的特点 264
23.1.2 Zend_Search_Lucene的组成 264
23.1.3 字段的含义 265
23.2 创建索引 266
23.2.1 创建新的索引 266
23.2.2 更新索引 267
23.2.3 索引的常用方法 268
23.3 搜索索引 272
23.3.1 建立查询 272
23.3.2 搜索结果 274
23.3.3 结果的Score 275
23.4 查询语句语法 275
23.4.1 Query的项 275
23.4.2 查询字段 275
23.4.3 布尔操作符 276
23.4.4 特殊字符的过滤 280
23.5 查询类型 280
23.5.1 单项查询 281
23.5.2 多项查询 281
23.5.3 短语查询 282
23.6 Lucene字符集 283
23.7 扩展Lucene 284
23.7.1 文本分析 284
23.7.2 评分算法 289
23.7.3 存储容器 290
23.8 小结 292
第24章 数据库操作 293
24.1 Zend_Db_Adapter组件 293
24.1.1 创建Zend_Db_Adapter对象 293
24.1.2 查询表中记录 294
24.1.3 插入新的记录 296
24.1.4 修改存在的记录 298
24.1.5 删除存在的记录 300
24.1.6 获取查询结果的方法 301
24.2 Zend_Db_Statement组件 302
24.2.1 创建Statement实例 302
24.2.2 执行被准备的语句 303
24.2.3 匹配结果集 304
24.3 Zend_Db_Profiler组件 307
24.3.1 启用Zend_Db_Profiler 308
24.3.2 常用的方法 308
24.3.3 过滤器的使用 311
24.4 Zend_Db_Select组件 312
24.4.1 创建Zend_Db_Select实例 312
24.4.2 最基本的查询 313
24.4.3 有条件的查询 314
24.4.4 结果排序 315
24.4.5 限制结果数 317
24.4.6 对结果进行分组 319
24.4.7 多表联合查询 321
24.5 Zend_Db_Table组件 321
24.5.1 使用Zend_Db_Table 321
24.5.2 表的主键 322
24.5.3 根据主键取回记录 323
24.5.4 根据其他列取回一条记录 324
24.5.5 根据其他列取回多条记录 326
24.5.6 向表中插入新记录 327
24.5.7 修改已经存在的记录 328
24.5.8 删除已经存在的记录 330
24.6 Zend_Db_Table_Row组件 331
24.6.1 获取Zend_Db_Table_Row对象 331
24.6.2 修改取回的数据 332
24.7 Zend_Db_Table_Rowset组件 333
24.7.1 获取Zend_Db_Table_Rowset对象 334
24.7.2 遍历Zend_Db_Table_Rowset对象 334
24.8 小结 336
第25章 PDF文件操作 337
25.1 Zend_Pdf组件简介 337
25.2 创建或者加载PDF文件 337
25.2.1 使用new关键字创建PDF对象 338
25.2.2 加载已有的PDF文件 338
25.2.3 加载PDF字符串 338
25.3 保存PDF文件或者另存为新的文件 338
25.3.1 将PDF对象保存为文件 339
25.3.2 将PDF对象保存为PDF字符串 339
25.4 PDF页面操作 340
25.4.1 Zend_Pdf_Page简介 340
25.4.2 创建Zend_Pdf_Page页面对象 340
25.5 在PDF页面上绘图 342
25.5.1 获取PDF页面的大小 342
25.5.2 Zend_Pdf的颜色系统 343
25.5.3 在页面上书写文本 343
25.5.4 在页面上绘制几何图形 346
25.5.5 为线条设置样式及使用填充色 350
25.5.6 将图像绘制到页面上 352
25.6 小结 353
第五篇 Web服务组件
第26章 RSS与FEED 356
26.1 Zend_Feed简介 356
26.2 Zend_Feed的基类 356
26.2.1 导入Feed 357
26.2.2 从网页上获取Feed 360
26.3 使用Zend_Feed_Rss 360
26.3.1 创建Zend_Feed_Rss对象 361
26.3.2 RSS channel标准元素 362
26.4 使用Zend_Feed_Atom 363
26.5 其他Zend_Feed操作 364
26.5.1 修改条目内容 365
26.5.2 自定义Feed和条目类 365
26.6 小结 367
第27章 服务组件 368
27.1 Zend_Server简介 368
27.2 Zend_Server_Reflection子类 368
27.2.1 Zend_Server_Reflection简介 368
27.2.2 reflectClass()方法 369
27.2.3 reflectFunction()方法 370
27.3 小结 372
第28章 HTTP服务 373
28.1 Zend_Http_Client基本用法 373
28.1.1 创建Zend_Http_Client对象 373
28.1.2 获取与设置URI 374
28.1.3 设置与获取头部信息 375
28.1.4 修改各项设置 376
28.1.5 执行请求并获取内容 377
28.2 Zend_Http_Client高级用法 380
28.2.1 HTTP重定向 380
28.2.2 使用Cookie 381
28.2.3 实现文件上传 382
28.2.4 HTTP Auth认证 384
28.3 Zend_Http_Client_Adapter连接器 386
28.3.1 Socket连接器 386
28.3.2 Proxy连接器 387
28.3.3 Test连接器 388
28.3.4 自定义连接器 390
28.4 Zend_Http_ Cookie 392
28.4.1 创建实例 392
28.4.2 获取信息方法 393
28.4.3 匹配Cookie 396
28.5 Zend_Http_Response 399
28.5.1 判断是否出错并返回状态 399
28.5.2 判断是否成功 400
28.5.3 返回头部信息 401
28.6 小结 401
第29章 XML-RPC 402
29.1 Zend_XmlRpc_Client 402
29.1.1 XML-RPC请求 402
29.1.2 带有参数的请求 404
29.1.3 参数类型提示 406
29.1.4 发送请求获取响应 407
29.2 Zend_XmlRpc_Server 409
29.2.1 服务端的构成 409
29.2.2 使用命名空间 411
29.2.3 自定义请求 411
29.2.4 自定义响应 411
29.2.5 获取与设置编码 411
29.3 小结 413
第30章 REST服务 414
30.1 Zend_Rest_Client 414
30.1.1 实现基本的REST会话 414
30.1.2 执行请求的多种方法 415
30.1.3 设置与获取URI 416
30.2 Zend_Rest_Server 417
30.2.1 创建服务端过程 417
30.2.2 为服务端添加方法 418
30.2.3 获取方法列表 420
30.2.4 自定义返回内容 421
30.3 小结 422
第31章 其他Web服务 423
31.1 Zend_Service_Amazon 423
31.1.1 搜索内容及注意事项 423
31.1.2 注册Key ID 424
31.1.3 使用传统API 425
31.1.4 使用Query API 427
31.1.5 项目组件 428
31.1.6 图像组件 428
31.1.7 结果集组件 429
31.1.8 其他相关组件 430
31.2 Zend_Service_Flickr 431
31.2.1 创建实例 431
31.2.2 常用方法 432
31.2.3 结果集组件 436
31.2.4 结果组件 437
31.2.5 图像组件 437
31.3 Zend_Service_Yahoo 438
31.3.1 搜索网页 438
31.3.2 搜索图片 440
31.3.3 搜索新闻 441
31.3.4 本地商务搜索 442
31.3.5 结果集组件 444
31.3.6 结果组件 445
31.3.7 网页结果组件 445
31.3.8 新闻结果组件 445
31.3.9 本地结果组件 446
31.3.10 图像结果组件 446
31.3.11 图像组件 447
31.3.12 更多内容 447
31.4 小结 447
第32章 Google服务 448
32.1 Google Data API概述 448
32.1.1 Atom和RSS 448
32.1.2 关于Gdata 449
32.1.3 Gdata的特点 449
32.2 Zend_Gdata简介 450
32.2.1 支持的搜索服务 450
32.2.2 Zend_Gdata的构成 451
32.2.3 用Google Services互动 452
32.2.4 获取Zend_Gdata实例 452
32.2.5 Google Data客户端认证 453
32.2.6 附属内容 453
32.2.7 创建Gdata客户端 453
32.2.8 查询语句参数 454
32.2.9 匹配Feed 456
32.3 使用ClientLogin认证 457
32.4 使用Zend_Gdata_Calendar 458
32.4.1 连接到Calendar服务器 458
32.4.2 创建Calendar服务器实例 462
32.4.3 获取Calendar列表 462
32.4.4 获取事务 464
32.4.5 创建事务 465
32.4.6 快速创建事务 468
32.4.7 修改事务 469
32.4.8 删除事务 471
32.5 使用Zend_Gdata_Spreadsheets 472
32.5.1 创建Spreadsheet 473
32.5.2 获取Spreadsheet列表 473
32.5.3 获取工作簿列表 474
32.5.4 获取工作簿内容 476
32.5.5 其他操作 478
32.6 小结 478
第六篇 国际化组件
第33章 本地化 480
33.1 Localization概述 480
33.1.1 本地化的组成 480
33.1.2 关于Locale 481
33.1.3 Locale如何描述 481
33.1.4 创建Zend_Locale实例 482
33.1.5 选择正确的语言 482
33.1.6 ZF Locale-Aware类 483
33.2 使用Zend_Locale 484
33.2.1 使用Zend_Locale 484
33.2.2 比较不同的Locale 485
33.2.3 默认区域 486
33.2.4 设置新的区域 486
33.2.5 获取语言和区域 487
33.2.6 获取本地化字符串 487
33.2.7 获取YES/NO的本地化字符串 490
33.3 正常化和本地化 491
33.3.1 数值的正常化 492
33.3.2 数值的本地化 492
33.3.3 使用自定义数值格式 493
33.3.4 判断是否为数值 494
33.3.5 浮点数正常化 495
33.3.6 浮点数本地化 496
33.3.7 判断是否为浮点数 496
33.3.8 整型数正常化 497
33.3.9 整型数本地化 498
33.3.10 判断是否为整型数 498
33.3.11 实现数值系统的转换 499
33.4 和日期时间协同工作 500
33.4.1 正常化日期 501
33.4.2 检测日期格式是否正确 503
33.4.3 其他日期时间用法 504
33.5 小结 504
第34章 多语言 505
34.1 Zend_Translate简介 505
34.2 Zend_Translate适配器 506
34.2.1 选用合适的适配器 506
34.2.2 使用自定义适配器 507
34.3 使用翻译适配器 508
34.3.1 翻译适配器翻译实例 508
34.3.2 创建数组源文件 509
34.3.3 创建Gettext源文件 510
34.3.4 创建TMX源文件 511
34.3.5 创建CSV源文件 512
34.3.6 适配器的设置 513
34.3.7 设置并获取语言 515
34.4 小结 516
第35章 日期时间 517
35.1 Zend_Date简介 517
35.1.1 设置默认时区 517
35.1.2 使用Zend_Date的优点 518
35.2 Zend_Date的基本方法 519
35.2.1 当前的日期时间 519
35.2.2 获取时间戳记 519
35.2.3 设置日期时间 520
35.2.4 日期时间的加减操作 521
35.2.5 日期时间的比较 521
35.2.6 判断日期时间相等 522
35.3 Zend_Date常量 523
35.4 小结 525
第36章 Zend_Measure 526
36.1 Zend_Measure简介 526
36.1.1 简单的转换示例 526
36.1.2 “米”的使用 527
36.1.3 Zend_Measure的类型 527
36.2 使用Zend_Measure 528
36.2.1 从数值创建对象 529
36.2.2 从字符串创建对象 529
36.2.3 从本地化字符串创建对象 530
36.3 输出计量对象 531
36.3.1 直接输出 531
36.3.2 输出值 531
36.3.3 输出计量单位 532
36.4 常用的Zend_Measure操作 533
36.4.1 计量单位转换 533
36.4.2 加减运算 534
36.4.3 是否相等比较 535
36.4.4 大小比较 536
36.4.5 改变现有值 537
36.4.6 改变现有类型 537
36.5 小结 538
第七篇 综合应用
第37章 MVC新闻管理系统 540
37.1 总体设计 540
37.2 目录结构 540
37.3 数据表的创建 541
37.4 创建入口文件 542
37.5 设置控制器 543
37.6 设置视图 547
37.6.1 浏览视图 547
37.6.2 管理视图 548
37.6.3 添加视图 549
37.6.4 修改视图 550
37.6.5 删除视图 551
37.6.6 头部与尾部视图 552
37.7 功能测试 553
37.8 小结 555