Zend Framework手册 中文版

Zend Framework

2007-09-24


目录

1. Introduction to Zend Framework
1.1. 概述
1.2. 安装
2. Zend_Acl
2.1. 简介
2.1.1. 关于资源(Resource)
2.1.2. 关于角色(Role)
2.1.3. 创建访问控制列表(ACL)
2.1.4. 注册角色(Role)
2.1.5. 定义访问控制
2.1.6. 查询 ACL
2.2. 精细的访问控制
2.2.1. 精细的访问控制
2.2.2. 除去访问控制
2.3. 高级用法
2.3.1. 保存 ACL 数据确保持久性
2.3.2. 使用声明(Assert)来编写条件性的 ACL 规则
3. Zend_Auth
3.1. 简介
3.1.1. 适配器
3.1.2. 结果
3.1.3. 身份的持久(Persistence)
3.1.4. 使用Zend_Auth
3.2. 用数据库表认证
3.2.1. 简介
3.2.2. 高级使用:持久一个 DbTable 结果对象
3.3. 摘要式认证
3.3.1. 简介
3.3.2. 规范(Specifics)
3.3.3. 身份(Identity)
3.4. HTTP 认证适配器
3.4.1. 简介
3.4.2. 设计回顾
3.4.3. 配置选项
3.4.4. Resolvers
3.4.5. 基本用法
4. Zend_Cache
4.1. 简介
4.2. 缓存原理
4.2.1. Zend_Cache 工厂方法
4.2.2. 标记纪录
4.2.3. 缓存清理
4.3. Zend_Cache前端
4.3.1. Zend_Cache_Core
4.3.2. Zend_Cache_Frontend_Output
4.3.3. Zend_Cache_Frontend_Function
4.3.4. Zend_Cache_Frontend_Class
4.3.5. Zend_Cache_Frontend_File
4.3.6. Zend_Cache_Frontend_Page
4.4. Zend_Cache后端
4.4.1. Zend_Cache_Backend_File
4.4.2. Zend_Cache_Backend_Sqlite
4.4.3. Zend_Cache_Backend_Memcached
4.4.4. Zend_Cache_Backend_Apc
4.4.5. Zend_Cache_Backend_ZendPlatform
5. Zend_Config
5.1. 简介
5.2. 操作理论
5.3. Zend_Config_Ini
5.4. Zend_Config_Xml
6. Zend_Console_Getopt
7. Zend_Controller
7.1. Zend_Controller 快速入门
7.1.1. 简介
7.1.2. 入门
7.2. Zend_Controller 基础
7.3. 前端控制器
7.3.1. 概述
7.3.2. 主要方法
7.3.3. 环境访问器方法
7.3.4. 前端控制器参数
7.3.5. 继承前端控制器
7.4. 请求对象
7.4.1. 介绍
7.4.2. HTTP 请求
7.4.3. 子类化请求对象
7.5. 标准路由器:Zend_Controller_Router_Rewrite
7.5.1. 简介
7.5.2. 使用路由器
7.5.3. 基本的Rewrite路由器操作
7.5.4. 缺省路由
7.5.5. 基本 URL 和子目录
7.5.6. Route Types
7.5.7. 使用 Zend_Config with the RewriteRouter
7.5.8. Subclassing the Router
7.6. 分发器
7.6.1. 概述
7.6.2. 子类化分发器
7.7. 动作控制器
7.7.1. 简介
7.7.2. 对象初始化
7.7.3. 派遣前后的钩子
7.7.4. 访问器
7.7.5. 视图集成
7.7.6. 实用方法
7.7.7. 继承(Subclassing)动作控制器
7.8. 动作助手
7.8.1. 介绍
7.8.2. 初始化助手
7.8.3. 助手经纪人
7.8.4. 内建的动作助手
7.8.5. 编写自己的助手
7.9. 响应对象
7.9.1. 用法
7.9.2. 处理消息头
7.9.3. 命名片段
7.9.4. 在响应对象中测试异常
7.9.5. 子类化响应对象
7.10. 插件
7.10.1. 简介
7.10.2. 编写插件
7.10.3. 使用插件
7.10.4. 获取和控制插件
7.10.5. 包含在标准发行包中的插件
7.11. 使用传统的模块目录结构
7.11.1. 简介
7.11.2. 指定模块控制器目录
7.11.3. Routing to modules
7.11.4. 模块或全局缺省控制器
7.12. MVC 异常
7.12.1. 介绍
7.12.2. 如何处理异常?
7.12.3. 可能遭遇的MVC异常
7.13. 从以前的版本移植
7.13.1. 从 0.9.3 到 1.0.0RC1 或更新的版本的移植
7.13.2. 从 0.9.2 移植到 0.9.3 或更新的版本
7.13.3. 从 0.6.0 移植到 0.8.0 或更新的版本
7.13.4. 从 0.2.0 或以前的版本移植到 0.6.0
8. Zend_Date
9. Zend_Db
9.1. Zend_Db_Adapter
9.1.1. 简介
9.1.2. 添加引号防止数据库攻击
9.1.3. 直接查询
9.1.4. 事务处理
9.1.5. 插入数据行
9.1.6. 更新数据行
9.1.7. 删除数据行
9.1.8. 取回查询结果
9.2. Zend_Db_Select
9.2.1. 简介
9.2.2. 同一表中查询多列数据
9.2.3. 多表联合查询
9.2.4. WHERE条件
9.2.5. GROUP BY分句
9.2.6. HAVING 条件
9.2.7. ORDER BY 分句
9.2.8. 通过总数和偏移量进行LIMIT限制
9.2.9. 通过页数和总数进行LIMIT限制
9.3. Zend_Db_Table
9.3.1. 简介
9.3.2. 开始
9.3.3. 表名和主键
9.3.4. 插入数据
9.3.5. 更新数据
9.3.6. Deleting Rows
9.3.7. 根据主键查找数据
9.3.8. 取回一条记录
9.3.9. 取回多条记录
9.3.10. Adding Domain Logic
9.4. Zend_Db_Table_Row
9.4.1. 简介
9.4.2. 取回一条记录
9.4.3. 修改数据
9.5. Zend_Db_Table_Rowset
9.5.1. 简介
9.5.2. 取回结果集
9.5.3. 遍历结果集
10. Zend_Debug
10.1. Dumping Variables 输出变量的值
11. Zend_Exception
11.1. 使用“异常”
12. Zend_Feed
12.1. 介绍
12.2. 用Zend_Feed来导入Feed
12.3. 从网页上获得Feed
12.4. RSS Feed的使用
12.5. Atom Feed的使用
12.6. 单个Atom条目的处理
12.7. 修改Feed和条目结构
12.8. 自定义Feed和条目类
13. Zend_Filter
13.1. 简介
13.2. 过滤器链
13.3. 编写过滤器
14. Zend_Gdata
15. Zend_Http
15.1. Zend_Http_Client
15.1.1. 简介
15.1.2. 带有指定的HTTP头的基本 GET 请求
15.1.3. 发送请求到多个域名
15.1.4. 改变HTTP timeout时间
15.1.5. 动态指定HTTP Header
15.1.6. 构造 HTTP POST, PUT, 和 DELETE 请求
15.2. Zend_Http_Response
15.2.1. 简介
16. Zend_Json
16.1. 简介
16.2. 基本用法
16.3. JSON 对象
17. Zend_Loader
17.1. 动态加载文件和类
17.1.1. 加载文件
17.1.2. 加载类
17.1.3. 判定某个文件是否可读
18. Zend_Locale
19. Zend_Log
19.1. 概述
19.1.1. 创建Log
19.1.2. 日志消息
19.1.3. 销毁Log
19.1.4. 使用内建的消息等级
19.1.5. 添加用户定义的日志等级
19.1.6. 理解日志事件
19.2. Writers
19.2.1. 写入到流(Streams)
19.2.2. 写入到数据库
19.2.3. 踩熄Writer
19.2.4. 测试 Mock
19.2.5. 组合Writers
19.3. Formatters
19.3.1. 简单格式化
19.3.2. 格式化到XML
19.4. 过滤器
19.4.1. 对所有Writer过滤
19.4.2. 过滤一个Writer实例
20. Zend_Mail
20.1. 简介
20.2. 通过SMTP发送邮件
20.3. 通过一个SMTP连接发送多个邮件
20.4. 使用不同的Transport对象
20.5. HTML邮件
20.6. 附件
20.7. 增加收件人
20.8. 控制MIME分界线
20.9. 外加邮件头信息
20.10. 字符集
20.11. 编码
20.12. SMTP 身份验证
21. Zend_Measure
22. Zend_Memory
22.1. 概述
22.1.1. 间接
22.1.2. 操作原理
22.2. 内存管理器
22.2.1. 创建一个内存管理器
22.2.2. 管理内存对象
22.2.3. 内存管理器设置
22.3. 内存对象
22.3.1. 可移动的
22.3.2. 锁定的
22.3.3. 内存容器 '值' 属性.
22.3.4. 内存容器接口
23. Zend_Mime
23.1. Zend_Mime
23.1.1. 简介
23.1.2. 静态方法和常量
23.1.3. 实例化Zend_Mime
23.2. Zend_Mime_Message
23.2.1. 简介
23.2.2. 实例化
23.2.3. 增加MIME消息段
23.2.4. 分界线处理
23.2.5. 解析字符串,创建Zend_Mime_Message对象(实验性的)
23.3. Zend_Mime_Part
23.3.1. 简介
23.3.2. 实例化
23.3.3. 渲染消息段为字符串的方法
24. Zend_Pdf
25. Zend_Registry
25.1. 使用对象注册表(Registry)
25.1.1. 设置Registry中的值
25.1.2. 获取Registry中的值
25.1.3. 创建一个Registry对象
25.1.4. 像访问数组一样访问Registry对象
25.1.5. 对象方式访问Registry
25.1.6. 查询一个索引是否存在
25.1.7. 扩展Registry对象
25.1.8. 删除静态注册表
26. Zend_Rest
27. Zend_Search_Lucene
27.1. 概述
27.1.1. 简介
27.1.2. 文档和字段对象
27.1.3. 理解字段类型
27.2. 建立索引
27.2.1. 创建新索引
27.2.2. 更新索引
27.3. 搜索索引
27.3.1. 建立查询
27.3.2. 搜索结果
27.3.3. 结果评分
27.4. 查询类型
27.4.1. 单项查询
27.4.2. 多项查询
27.4.3. 短语查询
27.5. 字符集
27.5.1. UTF-8 和单字节字符集支持
27.6. 扩展性
27.6.1. 文本分析
27.6.2. 评分算法
27.6.3. 存储容器
27.7. 与 Java Lucene 的互操作性
27.7.1. 文件格式
27.7.2. 索引目录
27.7.3. Java 源代码
27.7.4. 使用 LuceneIndexCreation.jar
28. Zend_Server
29. Zend_Service
29.1. 简介
29.2. Zend_Service_Flickr
29.2.1. 对Flickr搜索的介绍
29.2.2. 查找 Flickr 用户
29.2.3. 获得 Flickr 图像详细资料
29.2.4. Zend_Service_Flickr 类
29.3. Zend_Service_Yahoo
29.3.1. 简介
29.3.2. 用Yahoo!来搜索网页
29.3.3. 用Yahoo!来查找图片
29.3.4. Finding Local Businesses and Services with Yahoo!
29.3.5. 搜索Yahoo! 新闻
29.3.6. Zend_Service_Yahoo 类
30. Zend_Session
30.1. 简介
30.2. 基本用法
30.2.1. 实例教程
30.2.2. 迭代会话命名空间
30.2.3. 会话命名空间的访问器
30.3. 高级用法
30.3.1. 开启会话
30.3.2. 锁住会话命名空间
30.3.3. 命名空间过期
30.3.4. 会话封装和控制器
30.3.5. 防止每个命名空间有多重实例
30.3.6. 使用数组
30.3.7. 在对象中使用会话
30.3.8. 在单元测试中使用会话
30.4. 全局会话管理
30.4.1. 配置选项
30.4.2. 错误:Headers Already Sent
30.4.3. 会话标识符
30.4.4. rememberMe(integer $seconds)
30.4.5. forgetMe()
30.4.6. sessionExists()
30.4.7. destroy(bool $remove_cookie = true, bool $readonly = true)
30.4.8. stop()
30.4.9. writeClose($readonly = true)
30.4.10. expireSessionCookie()
30.4.11. setSaveHandler(Zend_Session_SaveHandler_Interface $interface)
30.4.12. namespaceIsset($namespace)
30.4.13. namespaceUnset($namespace)
30.4.14. namespaceGet($namespace)
30.4.15. getIterator()
31. Zend_Translate
31.1. 简介
31.1.1. 开始多语言化
31.2. Zend_Translate适配器
31.2.1. 如何判断使用哪种翻译适配器
31.2.2. 编写自己的适配器
32. Zend_Uri
32.1. Zend_Uri
32.1.1. 概述
32.1.2. 新建一个URI
32.1.3. 操作现有的URI
32.1.4. URI 验证
32.1.5. 公共实例方法
33. Zend_Validate
33.1. 简介
33.1.1. 什么是校验器(validator)?
33.1.2. 校验器的基本用法
33.1.3. 定制消息
33.1.4. 使用静态 is() 方法
33.2. 标准校验类
33.2.1. Alnum
33.2.2. Alpha
33.2.3. Between
33.2.4. Ccnum
33.2.5. 日期
33.2.6. 数字
33.2.7. Email 地址
33.2.8. 浮点数
33.2.9. GreaterThan
33.2.10. 十六进制数
33.2.11. 主机名
33.2.12. InArray
33.2.13. 整数
33.2.14. Ip
33.2.15. LessThan
33.2.16. NotEmpty
33.2.17. Regex
33.2.18. StringLength
33.3. 校验器链
33.4. 编写校验器
34. Zend_Version
34.1. 读取Zend Framework的当前版本
35. Zend_View
35.1. 简介
35.1.1. 控制器脚本
35.1.2. 视图脚本
35.2. 控制器脚本
35.2.1. 变量赋值
35.2.2. 调用视图脚本并打印输出
35.2.3. 视图脚本的路径
35.3. 视图脚本
35.3.1. 转义输出(Escaping Output)
35.3.2. 使用模板系统
35.4. 视图助手(View Helper)
35.4.1. 基本的助手
35.4.2. Helper 的路径
35.4.3. 编写自定义的Helper类
36. Zend_XmlRpc
36.1. 介绍
36.2. Zend_XmlRpc_Client
36.2.1. 介绍
36.2.2. 带参数
36.2.3. 参数类型提示
36.2.4. 获取响应
37. 系统需求
37.1. PHP 版本需求
37.2. PHP 扩展
37.3. Zend Framework 组件
A. 版权信息
索引

表格清单

2.1. 一个CMS范例的访问控制
3.1. 配置选项
4.1. 核心前端选项
4.2. 函数前端选项
4.3. Class frontend options
4.4. File frontend options
4.5. Page frontend options
4.6. 文件后端选项
4.7. Sqlite 后端选项
4.8. Memcached 后端选项
5.1. Zend_Config_Ini 构造器参数
27.1. Zend_Search_Lucene_Field 类型
29.1. Zend_Service_Flickr_ResultSet 属性
29.2. Zend_Service_Flickr_Result 属性
29.3. Zend_Service_Flickr_Image 属性
29.4. Zend_Service_Yahoo_ResultSet
29.5. Zend_Service_Yahoo_LocalResultSet 属性
29.6. Zend_Service_Yahoo_Result Properties
29.7. Zend_Service_Yahoo_WebResult 属性
29.8. Zend_Service_Yahoo_ImageResult 属性
29.9. Zend_Service_Yahoo_LocalResult 属性
29.10. Zend_Service_Yahoo_NewsResult 属性
29.11. Zend_Service_Yahoo_Image Properties
31.1. Zend_Translate适配器
36.1. PHP本地变量类型转化为XML-RPC类型
36.2. Zend_XmlRpc_Value 对象声明的XML-RPC类型
37.1. Zend Framework 使用的 PHP 扩展
37.2. Zend Framework 组件以及其使用到的 PHP 扩展

范例清单

2.1. 角色之间的多重继承
3.1. 修改 Session 名字空间
3.2. 使用定制存储类
3.3. 基本用法
4.1. 调用 Zend_Cache::factory()取得一个前端
4.2. Caching a database query result
4.3. Zend_Cache 输出前端缓存输出
5.1. 使用 Zend_Config 本身
5.2. Using Zend_Config with a PHP Configuration File
5.3. 使用 Zend_Config_Ini
5.4. 使用Zend_Config_Xml
7.1. 如何处理不存在的动作
7.2. 设定选项
7.3. 使用默认设定
7.4. 使用goto()_forward()API
7.5. 通过gotoRout()使用路由组装(route assembly)
7.6. 基本用法
7.7. 禁用自动渲染
7.8. 选择另外的视图脚本
7.9. 修改注册的视图Modifying the registered view
7.10. 修改路径规则
7.11. 一个动作中渲染多个视图脚本
7.12. Standard usage
7.13. Setting a different error handler
7.14. Using accessors
10.1. dump()使用示例:
11.1. 捕捉一个异常:
12.1. 用Zend_Feed来处理RSS Feed数据
12.2. Atom Feed的基本用法
12.3. 读取Atom Feed的单个条目
12.4. 用条目对象直接访问Atom Feed的单个条目
12.5. 修改一个已存在的条目
12.6. 用自定义的命名空间创建一个Atom条目元素
12.7. 用自定义的命名空间继承Atom条目类
15.1. 执行一个基本的 GET 请求
15.2. 创建一个基本的Zend_Http_Client
15.3. 发送多条header信息
15.4. 发送请求到多个域名
15.5. 用Zend_Http_Client发送POST 数据
15.6. 处理HTTP应答
17.1. Example of loadFile() method
17.2. loadClass() 示例:
17.3. isReadable()示例:
20.1. 使用Zend_Mail发送简单邮件
20.2. 通过 SMTP 发送邮件
20.3. 通过一个SMTP连接发送多个邮件
20.4. 使用不同的Transport对象
20.5. 发送HTML邮件
20.6. 带附件的邮件
20.7. 更改MIME分界线
20.8. 外加邮件头信息
20.9. 在 Zend_Mail_Transport_Smtp 中使用身份验证
22.1. 使用 Zend_Memory 组件
25.1. set() 使用示例:
25.2. get() 方法示例:
25.3. 迭代一个registry对象:
25.4. 创建一个registry对象
25.5. Example of initializing the static registry
25.6. array 方式访问示例:
25.7. 对象形式的访问:
25.8. isRegistered() 示例:
25.9. isset() 示例:
25.10. 指定静态注册表的类名:
25.11. _unsetInstance() 示例:
27.1. 自定义文本分析程序
29.1. 简单的 Flickr 照片搜索
29.2. 用email地址来查找Flickr用户
29.3. 获得 Flickr 图像详细资料
29.4. 用Yahoo!来搜索网页
29.5. 用Yahoo!来查找图片
29.6. 用Yahoo!查找本地商务和服务信息
29.7. 搜索Yahoo! 新闻
30.1. 页面浏览计数
30.2. 新方法: 使用命名空间避免冲突
30.3. 老方法: PHP会话访问
30.4. 会话迭代
30.5. 访问会话数据
30.6. 开启全局会话
30.7. 锁住会话命名空间
30.8. 过期的例子
30.9. 带有生命期的控制器命名空间会话
30.10. 限制命名空间访问单一实例
30.11. 修改带有会话命名空间的数组数据
30.12. 在会话存储之前构造数组
30.13. 方案:重新分配一个被修改的数组
30.14. 方案:存储包括引用的数组
30.15. PHPUnit Testing Code Dependent on Zend_Session
30.16. 使用Zend_Config配置Zend_Session
30.17. 会话固定
32.1. 使用Zend_Uri::factory()创建一个新的URI
32.2. 使用Zend_Uri::factory()操作一个现有的URI
32.3. 使用Zend_Uri::check()进行URI 验证
32.4. Zend_Uri_* 对象取得模式
32.5. 从一个Zend_Uri_* 对象取得整个URI
32.6. 验证一个 Zend_Uri_* 对象
33.1. 创建简单校验类
33.2. 编写有独立条件的校验类
33.3. 带有独立条件、多重失败原因的校验
34.1. compareVersion()方法示例:
36.1. 一个基本的XML-RPC请求
36.2. 用类型提示来调用一个XML-RPC服务
<xi:include></xi:include>