zend framework中文手册是一款可以帮助中国用户快速上手zend framework开发框架的软件,该软件主要利用中文的方式展示软件的具体操作方法,里面包含了软件的安装、概述、系统要求、PHP代码编辑方式等多个项目的设计方案,您可以很好的利用软件提供的资源学习如何使用zend framework开发 web 程序和服务,让中国用户更好的使用软件开发程序,本软件支持Zend_Controller 快速入门、添加配置、操作理论、创建你自己的错误控制器、视图集成等多个方面的知识,需要的朋友可以下载试试!
软件功能
Zend_Dom_Query
Zend_Dom_Query 为利用 XPath 或 CSS 选择器来查询 XML 和 (X)HTML 文档提供了机制。 它为帮助 MVC 应用的功能测试而开发,但也用于 screen scrapers 的快速开发。
当用 XML 结构查询文档时,对于 web 开发者来说,CSS 选择器符号简单而熟悉。 对开发过 Cascading Style Sheets 或用过提供使用 CSS 选择器 (Prototype's $$() 和 Dojo's dojo.query 都是组件的灵魂)选择节点的功能的 Javascript 工具箱的开发者来说,符号应当很熟悉。
要使用 Zend_Dom_Query,你需要初始化一个 Zend_Dom_Query 对象,并可选地传递一个文档到查询(一字符串)。 一旦你有一个文档,可以使用 query() 或 queryXpath() 方法; 每个方法将返回带有任何匹配节点的 Zend_Dom_Query_Result 对象。
Zend_Dom_Query 和使用 DOMDocument + DOMXPath 的主要不同之处是可以依靠 CSS 选择器来选择。 你可以使用下列的任何组合:
element types: 提供一个元素类型来匹配: 'div'、 'a'、 'span'、 'h2' 等。
style attributes: 匹配 '.error'、 'div.error'、 'label.required' 等的 CSS 风格属性。 如果任何元素定义了超过一个风格,只要命名的风格出现在风格声明的任何地方,它将匹配。
id attributes: 匹配 '#content'、 'div#nav' 等的元素 ID 属性。
arbitrary attributes: 用于匹配的属性元素的属性。 有三个不同的匹配类型
除了可以作为可系列化的数据容器,Zend_Dojo_Data 也可以用各种各样的方法处理和疏导(traverse)数据。
Zend_Dojo_Data 实现 ArrayAccess、 Iterator 和 Countable 的接口。 这意味着你可以使用数据集合几乎就像使用数组一样。
所有的条目通过标识符字段来引用。因为表示符必须是独一无二的,你可用它的值来取出每个记录。 有两个方法可以做这个:通过 getItem() 方法,或通过数组符号。
直接查询
一旦你得到了一个Zend_Db_Adapter 实例, 你可以直接 执行sql语句进行查询. Zend_Db_Adapter 传送这些sql语 句到底层的PDO对象,由PDO对象组合并执行他们,在有查询结果的情况 下,返回一个PDOStatement对象以便对结果进行处理。
软件特色
可用的方法
除了上述实现接口必须的方法外,下列方法也可用。
setItems($items): 一次设置多个条目,覆盖在对象里先前的任何条目。 $items 是一个数组或一个 Traversable 对象。
setItem($item, $id = null): 设置一个条目,可选地传递一个显式标识符。 如果有的话,覆盖先前在集合里的条目。有效的条目包括联合数组,实现 toArray() 的对象或任何有 public 属性的对象。
addItem($item, $id = null): 添加一个条目,可选地传递一个显式标识符。 如果在集合理已经存在该条目,将产生异常。有效的条目包括联合数组,实现 toArray() 的对象或任何有 public 属性的对象。
addItems($items): 一次添加多个条目,追加到任何当前条目。如果新条目的标识符在集合理已经存在,将产生异常。 $items 是一个数组或一个 Traversable 对象。
getItems(): 以数组的数组(array of arrays)的形式获取所有条目。
hasItem($id): 确定一个条目的标识符是否在集合理存在。
getItem($id): 从集合里按给定的标识符获取一个条目;返回一个联合数组。 如果没有条目匹配,返回 null。
removeItem($id): 从集合里按给定的标识符删除一个条目。
clearItems(): 从集合里删除所有条目。
setIdentifier($identifier): 为集合里的每个条目设置表示独一无二的标识符的字段名。
getIdentifier(): 获取标识符字段的名字。
setLabel($label): 设置用于为条目显示标签的字段的名字。
getLabel(): 读取标签字段名。
toArray(): 传递对象到一个数组。数组里最少包含键 'identifier' 和 'items', 如果在对象里设置了标签,也要包含 'label'。
toJson(): 传递对象给一个JSON 表达。
Zend_Db_Table_Row是Zend Framework的行数据网关.通常来说,你不可以自己实例化Zend_Db_Table_Row, 而是通过调用Zend_Db_Table::find()方法或者Zend_Db_Table::fetchRow()方法将Zend_Db_Table_Row作为 结果数据返回过来.一旦你得到来一个Zend_Db_Table_Row对象,你可以修改记录值(体现为类的属性)然后 调用save()方法可以将更改保存到原表上.
使用方法
descendents: 把多个选择器集中成一字符串来表示一个搜索的层次。 'div .foo span #one' 选择一个 id 'one' 的元素,它是在 'span' 元素下任意深度的子孙, 它也是 'foo' 类下面任意深度的子孙,而 'foo' 元素是 'div' 元素下任意深度的子孙。 例如,在下面列表中,它将匹配带有 'One' 字符的链接:
一旦你执行了查询,你可以使用结果对象来确定节点的信息,同时,你也可以 把它们和/或它们的内容拿出来检查和处理。 Zend_Dom_Query_Result 实现 Countable 和 Iterator 并在内部存储结果为 DOMNodes/DOMElements。 作为例子,考虑下列的调用,它依靠上述的 HTML 来选择:
你也能用Zend_Feed从一个文件或者一个PHP字符串变量来获得一个feed的内容:
在上面的例子中,根据feed类型的不同,一个从Zend_Feed_Abstract继承而来的类对象被返回。如果导入方法获得的是一个RSS feed,那么一个Zend_Feed_Rss对象将被返回(Seateng译注:以Factory模式实现)。另一方面,如果一个Atom feed被导入,那么将返回一个Zend_Feed_Atom对象。如果feed不可读或者不符合规范,导致导入失败那么Zend_Feed将抛出一个Zend_Feed_Exception异常。
29.2.1. 定制 feeds
Zend_Feed 能让开发者轻松创建定制 feeds,只需要创建一个数组用 Zend_Feed 导入它。这个数组可以用 Zend_Feed::importArray() 或 Zend_Feed::importBuilder() 导入。最后数组用定制的实现了 Zend_Feed_Builder_Interface 数据源来处理。
29.2.1.1. 导入定制的数组
数字框是一个文本元素用来输入数字值,不象数字增变器,数字框用手工输入。 校验和限制可以使数值在一定的范围并符合一定的格式。
在内部,数字框从 ValidationTextBox 和 TextBox派生; 所有对这些类可用的方法都可用,另外,下列方法可以独立使用:
密码框
密码框是个 ValidationTextBox,它和密码输入有联系;它唯一的意图是允许 dijit-themed 文本输入密码并提供客户端校验。
在内部,密码框从 ValidationTextBox 和 TextBox 派生; 所有对这些类可用的方法都可用。
Example 26.23. 密码框 dijit 元素用法范例
单选按钮
单选按钮封装了标准单选输入元素来提供一个和其它 dojo dijits 一致的外观。 (因为英文为 radio button,单选按钮在过去也被翻译为无线电按钮,但从功能上讲,单选按钮更准确 Jason Qi注)
单选按钮从 DijitMulti 继承,它让你通过 setMultiOptions() 和 setMultiOption() 方法来指定选择选项。
缺省地,该元素注册一个 InArray 校验器,它依靠注册的选项的数组键来校验。 你可以通过调用 setRegisterInArrayValidator(false) 或传递一个 false 值给 registerInArrayValidator配置键来禁止该行为。
Example 26.24. 单选按钮 dijit 元素用法范例
提交按钮
虽然没有叫提交按钮的 Dijit,但我们还是在此提供一个按钮 dijit 用来提交 表单而不需请求任何另外的 javascript 绑定。它的工作方式和 按钮 dijit 一模一样。
Example 26.25. Example SubmitButton dijit element usage
导入Feeds
Zend_Feed 能让开发者轻松获得 Feeds 。如果你知道 Feeds 的URI,用Zend_Feed::import()方法就可以非常容易的获得它:
主要优势
Zend Framework (ZF) 是一个开放源代码的 PHP5 开发框架,可用于来开发 web 程序和服务。ZF 100%用面向对象代码实现。 ZF中的组件非常独立,每个组件几乎不依赖于其他组件。这样的松耦合结构可以让开发者独立使用组件。 我们常称此为 “use-at-will”设计。
ZF中的组件可以独立使用,但如果将它们组合起来,就形成了一个强大而可扩展的web开发框架。 ZF 提供了强壮而高效的 MVC 实现,易于使用的数据库摘要和实现 HTML 表单解析、校验和过滤的表单组件,这样 开发者可以通过这些易用的、面向对象的接口联合所有这些操作。其它组件如 Zend_Auth 和 Zend_Acl 通过通用 的证书(credential)存储提供用户认证和授权。还有其它实现的客户库来简化访问最流行的可用的 web 服务。 不论你的程序需要什么,你都可能从 Zend Framework 中找到经过全面和严格测试的组件来使用,可以极为有效地减少开发时间。
Zend Framework 项目的主要赞助者是 Zend Technologies,但许多 其它公司也贡献了组件或重大功能。例如 Google、 Microsoft 和 StrikeIron 作为伙伴提供了 web 服务接口和其它 希望给 Zend Framework 开发者使用的技术。
没有活跃的 ZF 社区,Zend Framework 就不能交付和支持所有这些功能。社区成员包括贡献者都可以在这些地方找到: mailing lists, IRC channels 和其它论坛。无论你有什么关于 ZF 的问题,在社区里总能找到答案。
相关介绍
17.3.2.11. Zend_CodeGenerator_Php_Property
18. Zend_Config
18.1. 简介
18.2. 操作理论
18.3. Zend_Config_Ini
18.4. Zend_Config_Xml
19. Zend_Config_Writer
19.1. Zend_Config_Writer
20. Zend_Console_Getopt
20.1. Getopt 简介
20.2. 声明 Getopt 规则
20.2.1. 用短语法声明选项
20.2.2. 用长语法声明选项
20.3. 读取(Fetching)选项和参数
20.3.1. 操作 Getopt 异常
20.3.2. 通过名字读取 (Fetching)选项
20.3.3. 报告选项
20.3.4. 读取非选项参数
20.4. 配置 Zend_Console_Getopt
20.4.1. 添加选项规则
20.4.2. 添加帮助信息
20.4.3. 添加选项别名
20.4.4. 添加参数列表
20.4.5. 添加配置
21. Zend_Controller
21.1. Zend_Controller 快速入门
21.1.1. 简介
21.1.2. 入门
21.1.2.1. 文件系统的组织结构
21.1.2.2. 设置文件根目录
21.1.2.3. 创建URL重写规则
21.1.2.4. 创建你的bootstrap文件
21.1.2.5. 创建默认的控制器(Action Controller)
21.1.2.6. 创建你的视图脚本
21.1.2.7. 创建你自己的错误控制器
21.1.2.8. 访问站点!
21.2. Zend_Controller 基础
21.3. 前端控制器
21.3.1. 概述
21.3.2. 主要方法
21.3.2.1. getInstance()
21.3.2.2. setControllerDirectory() 和 addControllerDirectory()
21.3.2.3. addModuleDirectory() and getModuleDirectory()
21.3.2.4. dispatch()
21.3.2.5. run()
21.3.3. 环境访问器方法
21.3.4. 前端控制器参数
21.3.5. 继承前端控制器
21.4. 请求对象
21.4.1. 介绍
21.4.2. HTTP 请求
21.4.2.1. 访问请求数据
21.4.2.2. 基地址和子目录
21.4.2.3. 决定请求方式
21.4.2.4. 删除 AJAX 请求
21.4.3. 子类化请求对象
21.5. 标准路由器
21.5.1. 简介
21.5.2. 使用路由器
21.5.3. 基本的Rewrite路由器操作
21.5.4. 缺省路由
21.5.5. 基本 URL 和子目录
21.5.6. Route Types
21.5.6.1. Zend_Controller_Router_Route
21.5.6.1.1. 变量缺省
21.5.6.1.2. 变量请求
21.5.6.1.3. 主机名路由
21.5.6.2. Zend_Controller_Router_Route_Static
21.5.6.3. Zend_Controller_Router_Route_Regex
21.5.7. 使用 Zend_Config with the RewriteRouter
21.5.8. Subclassing the Router
21.6. 分发器
21.6.1. 概述
21.6.2. 子类化分发器
21.7. 动作控制器
21.7.1. 简介
21.7.2. 对象初始化
21.7.3. 派遣前后的钩子
21.7.4. 访问器
21.7.5. 视图集成
21.7.5.1. 视图初始化
21.7.5.2. 解析(Rendering)视图
21.7.6. 实用方法
21.7.7. 继承(Subclassing)动作控制器
21.8. 动作助手
21.8.1. 介绍
21.8.2. 初始化助手
21.8.3. 助手经纪人
21.8.4. 内建的动作助手
21.8.4.1. 动作堆栈(助手)
21.8.4.2. AutoComplete
21.8.4.2.1. AutoCompletion with Dojo
21.8.4.2.2. AutoCompletion with Scriptaculous
21.8.4.3. ContextSwitch and AjaxContext
21.8.4.3.1. 缺省可用的上下文
21.8.4.3.2. 创建定制的上下文
21.8.4.3.3. 为每个动作设置上下文
21.8.4.3.4. 初始化上下文开关
21.8.4.3.5. 另外的功能
21.8.4.3.6. AjaxContext 函数
21.8.4.4. FlashMessenger
21.8.4.4.1. 简介
21.8.4.4.2. Basic Usage Example
21.8.4.5. JSON
21.8.4.6. 转向器(Redirector)
21.8.4.6.1. 介绍
21.8.4.6.2. 基础用例
21.8.4.7. ViewRenderer
21.8.4.7.1. 介绍
21.8.4.7.2. API
21.8.4.7.3. 基础用法示例
21.8.4.7.4. 高级用法示例
21.8.5. 编写自己的助手
21.9. 响应对象
21.9.1. 用法
21.9.2. 处理消息头
21.9.3. 命名片段
21.9.4. 在响应对象中测试异常
21.9.5. 子类化响应对象
21.10. 插件
21.10.1. 简介
21.10.2. 编写插件
21.10.3. 使用插件
21.10.4. 获取和控制插件
21.10.5. 包含在标准发行包中的插件
21.10.5.1. 动作堆栈
21.10.5.2. Zend_Controller_Plugin_ErrorHandler
21.10.5.2.1. 使用 ErrorHandler 作为一个 404 处理器(handler)
21.10.5.2.2. 处理以前呈现的(rendered)输出
21.10.5.2.3. 插件用法示例
21.10.5.2.4. 错误控制器示例
21.11. 使用传统的模块目录结构
21.11.1. 简介
21.11.2. 指定模块控制器目录
21.11.3. Routing to modules
21.11.4. 模块或全局缺省控制器
21.12. MVC 异常
21.12.1. 介绍
21.12.2. 如何处理异常?
21.12.3. 可能遭遇的MVC异常
22. Zend_Currency
22.1. Zend_Currency 简介
22.1.1. 为什么使用 Zend_Currency ?
22.2. 如何使用货币
22.2.1. 从货币创建输出
22.2.2. 修改货币格式
22.2.3. Zend_Currency 的信息方法
22.2.4. 设置新缺省值
22.2.5. 加速 Zend_Currency
22.3. Options for currencies
22.4. What makes a currency?
22.5. Where is the currency?
22.6. How does the currency look like?
22.7. How much is my currency?
22.7.1. Working with currency values
22.7.2. Using precision on currencies
22.8. Calculating with currencies
22.9. Exchanging currencies
22.10. Additional informations on Zend_Currency
22.10.1. Currency informations
22.10.2. Currency Performance Optimization
23. Zend_Date
23.1. 简介
23.1.1. 永远设置缺省时区
23.1.2. 为什么使用 Zend_Date?
23.2. 操作理论
23.2.1. 内部(Internals)
23.3. 基本方法
23.3.1. 当前日期
23.3.2. Zend_Date 的例子
23.3.2.1. 输出日期
23.3.2.2. 设置日期
23.3.2.3. 加减日期
23.3.2.4. 比较日期
23.4. Zend_Date API 概述
23.4.1. Zend_Date 选项
23.4.1.1. 选择日期格式类型
23.4.1.2. DST 和日期数学
23.4.1.3. 月份计算
23.4.1.4. 用 Zend_Cache 加速日期本地化和标准化
23.4.1.5. 用 Zend_TimeSync 同步时间戳
23.4.2. 使用日期值
23.4.3. Basic Zend_Date Operations Common to Many Date Parts
23.4.3.1. 日期部件列表
23.4.3.2. List of Date Operations 日期操作列表
23.4.4. 比较日期
23.4.5. 获取日期和日期部件
23.4.6. 使用秒的片段
23.4.7. 日出 / 日落
23.5. 生成日期
23.5.1. 生成当前日期
23.5.2. 从数据库生成日期
23.5.3. 从数组生成日期
23.6. 一般日期函数的常量
23.6.1. 使用常数
23.6.2. 所有常数列表
23.6.3. 自定义 ISO 输出格式
23.6.4. 使用 PHP 的 date() 格式指定器的自定义输出格式
23.7. Working 范例
23.7.1. 检查日期
23.7.2. 日出和日落
23.7.3. 时区
24. Zend_Db
24.1. Zend_Db_Adapter
24.1.1. 简介
24.1.2. 添加引号防止数据库攻击
24.1.3. 直接查询
24.1.4. 事务处理
24.1.5. 插入数据行
24.1.6. 更新数据行
24.1.7. 删除数据行
24.1.8. 取回查询结果
24.2. Zend_Db_Statement
24.2.1. Creating a Statement
24.2.2. Executing a Statement
24.2.3. Fetching Results from a SELECT Statement
24.2.3.1. Fetching a Single Row from a Result Set
24.2.3.2. Fetching a Complete Result Set
24.2.3.3. Changing the Fetch Mode
24.2.3.4. Fetching a Single Column from a Result Set
24.2.3.5. Fetching a Row as an Object
24.3. Zend_Db_Profiler
24.3.1. Introduction
24.3.2. Using the Profiler
24.3.3. Advanced Profiler Usage
24.3.3.1. Filter by query elapsed time
24.3.3.2. Filter by query type
24.3.3.3. Retrieve profiles by query type
24.3.4. Specialized Profilers
24.3.4.1. Profiling with Firebug
24.4. Zend_Db_Select
24.4.1. 简介
24.4.2. 同一表中查询多列数据
24.4.3. 多表联合查询
24.4.4. WHERE条件
24.4.5. GROUP BY分句
24.4.6. HAVING 条件
24.4.7. ORDER BY 分句
24.4.8. 通过总数和偏移量进行LIMIT限制
24.4.9. 通过页数和总数进行LIMIT限制
24.5. Zend_Db_Table
24.5.1. 简介
24.5.2. 开始
24.5.3. 表名和主键
24.5.4. 插入数据
24.5.5. 更新数据
24.5.6. Deleting Rows
24.5.7. 根据主键查找数据
24.5.8. 取回一条记录
24.5.9. 取回多条记录
24.5.10. Adding Domain Logic
24.6. Zend_Db_Table_Row
24.6.1. 简介
24.6.2. 取回一条记录
24.6.3. 修改数据
24.7. Zend_Db_Table_Rowset
24.7.1. 简介
24.7.2. 取回结果集
24.7.3. 遍历结果集
24.8. Zend_Db_Table Relationships
24.8.1. Introduction
24.8.2. Defining Relationships
24.8.3. Fetching a Dependent Rowset
24.8.4. Fetching a Parent Row
24.8.5. Fetching a Rowset via a Many-to-many Relationship
24.8.6. Cascading Write Operations
24.8.6.1. Notes Regarding Cascading Operations
24.9. Zend_Db_Table_Definition
24.9.1. Introduction
24.9.2. Basic Usage
24.9.3. Advanced Usage
25. Zend_Debug
25.1. 输出变量的值 (Dumping Variables)
26. Zend_Dojo
26.1. 简介
26.2. Zend_Dojo_Data: dojo.data Envelopes
26.2.1. Zend_Dojo_Data 用法
26.2.2. 高级用例
26.2.2.1. 可用的方法
26.3. Dojo 视图助手
26.3.1. dojo() 视图助手
26.3.1.1. Dojo 的 Programmatic 和 Declarative 用法
26.3.1.2. 主题
26.3.1.3. 使用 Layers (定制)
26.3.1.4. 可用方法
26.3.2. Dijit-Specific 视图助手
26.3.2.1. Dijit 布局元素
26.3.2.2. Dijit 表单元素
26.4. Dojo 表单元素和装饰器
26.4.1. Dijit-Specific 表单装饰器
26.4.1.1. DijitElement 装饰器
26.4.1.2. DijitForm 装饰器
26.4.1.3. DijitContainer-based 装饰器
26.4.2. Dijit-Specific 表单元素
26.4.2.1. 按钮
26.4.2.2. 检查框
26.4.2.3. 组合框(ComboBox)和 FilteringSelect
26.4.2.4. 货币文字框
26.4.2.5. 日期文字框
26.4.2.6. 水平滑尺(HorizontalSlider)
26.4.2.7. 数字微调控制器(NumberSpinner)
26.4.2.8. 数字框
26.4.2.9. 密码框
26.4.2.10. 单选按钮
26.4.2.11. 滑尺摘要元素
26.4.2.12. 提交按钮
26.4.2.13. 文字框
26.4.2.14. Textarea
26.4.2.15. 时间文字框
26.4.2.16. 校验文字框
26.4.2.17. 垂直滑尺(VerticalSlider)
∨ 展开