Zend_Version
常量Zend_Version::VERSION
的值为Zend Framework的当前版本号,例如0.9.0beta。
静态方法Zend_Version::compareVersion($version)
基于PHP函数version_compare()
。如果指定的$version比当前ZF的版本旧,则该方法返回-1,如果相等则返回0,如果比当前版本更新返回+1。
// returns -1, 0 or 1
$cmp = Zend_Version::compareVersion('1.0.0');
Zend_Dom
它提供统一的接口利用 XPath 和 CSS 选择器来查询 DOM 文档。
要使用 Zend_Dom_Query,你需要初始化一个 Zend_Dom_Query 对象,并可选地传递一个文档到查询(一字符串)。 一旦你有一个文档,可以使用 query() 或 queryXpath() 方法; 每个方法将返回带有任何匹配节点的 Zend_Dom_Query_Result 对象。
选择器
支持Css标签选择器,ID选择器,类选择器,属性选择器,直系子类的选择以及组合器的组合使用。
属性选择器有三个不同的匹配类型:
① 精准匹配: div[bar="baz"]
匹配只有一个 “bar” 属性的 div 元素。
② 单词匹配: div[bar~="baz"]
匹配带有 “bar” 属性的 div 元素,如 <div bar="foo baz">
。
③ substring match:div[bar*="baz"]
匹配属性中带有 “bar” 字符的 div 元素,如<div bar="foo bazbat">
。
Zend_Dom_Query 方法
setDocumentXml($document)
: 指定一个查询使用的 XML 字符串。
setDocumentXhtml($document)
: 指定一个查询使用的 XHTML 字符串。
setDocumentHtml($document)
: 指定一个查询使用的 HTML 字符串。
setDocument($document)
: 指定一个查询使用的字符串; Zend_Dom_Query 将尝试自动检查文档类型。
getDocument()
: 获取提供给对象的原始文档字符串。
getDocumentType()
: 获取提供给对象的文档的类型;是 DOC_XML、 DOC_XHTML 或 DOC_HTML 类常量其中之一。
query($query)
: 使用 CSS 选择器符号查询文档。
queryXpath($xPathQuery)
: 使用 XPath 符号查询文档。
Zend_Dom_Query_Result
Zend_Dom_Query_Result 实现 Iterator 和 Countable, 可用于 foreach 循环和 count() 函数,并在内部存储结果为 DOMNodes/DOMElements。
用途:①确定节点的信息②可以 把它们和/或它们的内容拿出来检查和处理。
方法:
① getCssQuery()
: 返回用于处理结果(如果有的话)的 CSS 选择器查询。
② getXpathQuery()
: 返回用于处理结果的 XPath 查询。 在内部,Zend_Dom_Query 转换 CSS 选择器查选为 XPath,所以这个值将永远被组装。
③ getDocument()
: 获取选择使用的文档。
$dom = new Zend_Dom_Query($html);
$results = $dom->query('.foo .bar a');$count = count($results); // get number of matches: 4
foreach ($results as $result) {// $result is a DOMElement
}
Zend_Json
对象转JSON
方法:Zend_Json::encode() 和 Zend_Json::decode().
// 获得一个value:
$phpNative = Zend_Json::decode($encodedValue);// 编码并返回给客户端:
$json = Zend_Json::encode($phpNative);
Zend_Json::encode() 和 Zend_Json_Encoder::encode() 允许一个可选的第二个参数来检查递归。
当把PHP对象编码为JSON时, 它的所有的公有属性将被编码为JSON格式;而当解码时,默认将JSON对象解码成关联数组。但是如果你希望它返回一个对象, 可以这样指定:
// 解码 JSON 对象作为 PHP 对象
$phpNative = Zend_Json::decode($encodedValue, Zend_Json::TYPE_OBJECT);
这样任何解码后的对象将被作为一个StdClass的对象来返回,对象带有根据JSON对象的key/value对生成的一系列属性。
XML转JSON
最高支持 25 级XML层次
Zend_Json::fromXml($xmlStringContents, $flag)
$xmlStringContents
:XML 字符串; $flag
:是否忽略 XML 属性,默认忽略 XML 属性。
$jsonContents = Zend_Json::fromXml($xmlStringContents, true);?>
举例:
//XML<?xml version="1.0" encoding="UTF-8"?>
<books><book id="1"><title>Code Generation in Action</title><author><first>Jack</first><last>Herrington</last></author><publisher>Manning</publisher></book><book id="2"><title>PHP Hacks</title><author><first>Jack</first><last>Herrington</last></author><publisher>O'Reilly</publisher></book><book id="3"><title>Podcasting Hacks</title><author><first>Jack</first><last>Herrington</last></author><publisher>O'Reilly</publisher></book>
</books> ?>//JSON{"books" : {"book" : [ {"@attributes" : {"id" : "1"},"title" : "Code Generation in Action","author" : {"first" : "Jack", "last" : "Herrington"},"publisher" : "Manning"}, {"@attributes" : {"id" : "2"},"title" : "PHP Hacks", "author" : {"first" : "Jack", "last" : "Herrington"},"publisher" : "O'Reilly"}, {"@attributes" : {"id" : "3"},"title" : "Podcasting Hacks", "author" : {"first" : "Jack", "last" : "Herrington"},"publisher" : "O'Reilly"}]}
} ?>
Zend_Text
FIGlet是什么?
「FIGlet」是基于ASCII字符组成的字符画。它的名字由来,其实有几个固定的名称,几种比较主要的称呼分别是:「ASCII TEXT」、「ASCII TEXT Banner」、「ASCII Art」、「ASCII Decorator」和「FIGlet」。然而「FIGlet」这个词应该是最标准的用法。「FIGlet」原作者是Glenn Chappell、Ian Chai,源于 Frank、Ian 和 Glen当初在写邮件签名的时候加上去的一些字体艺术。
Zend_Text_Figlet
Zend_Text_Figlet是一个使开发人员能够创建FIGlet文本的组件。 FIGlet文本是一个字符串,表示为ASCII art。 FIGlets使用特殊的字体格式,称为FLT(FigLet Font)。默认情况下,Zend_Text_Figlet附带一个标准字体,但您可以在http://www.figlet.org下载其他字体。
$figlet = new Zend_Text_Figlet();
echo $figlet->render('Zend');
您可以为FIGlet定义多个参数。在实例化Zend_Text_Figlet时,您可以提供Zend_Config的数组或实例。
font
- 定义应该用于渲染的字体。如果未定义,将使用内置字体。
outputWidth
- 定义输出字符串的最大宽度。这用于自动换行以及对齐。如果值太小可能导致出错。默认值为80。
handleParagraphs
- 一个布尔值,表示如何处理空白行。设置为true时,将忽略单个空白行,而是将其视为单个空格。只会处理多个空白行。默认值为false。
justification
- 可以是JUSTIFICATION_LEFT
,JUSTIFICATION_CENTER
和JUSTIFICATION_RIGHT
,默认对齐由rightToLeft
值定义。
rightToLeft
- 定义文本的写入方向。可以是Zend_Text_Figlet :: DIRECTION_LEFT_TO_RIGHT
或Zend_Text_Figlet :: DIRECTION_RIGHT_TO_LEFT
。默认情况下,使用字体文件的设置。未定义对齐时,从右到左书写的文本会自动右对齐。
smushMode
- 一个整数值,用于定义单个字符如何一起smush。可以是Zend_Text_Figlet :: SM_ *中多个值的总和。有以下smush模式:SM_EQUAL
,SM_LOWLINE
,SM_HIERARCHY
,SM_PAIR
,SM_BIGX
,SM_HARDBLANK
,SM_KERN
和SM_SMUSH
。值0不会禁用整个smushing,但会强制应用SM_KERN
,而值为-1则禁用它。默认情况下,使用字体文件的设置。 smush模式选项通常仅由字体设计者使用新字体测试各种布局模式。
[注意]
① 压缩字体
Zend_Text_Figlet支持gzip压缩字体。这意味着您可以获取.flf文件并对其进行gzip。要允许Zend_Text_Figlet识别这一点,gzipped字体必须具有扩展名.gz。此外,为了能够使用gzip压缩字体,您必须启用PHP的GZIP扩展。
② 编码
Zend_Text_Figlet期望您的字符串默认为UTF-8编码。如果不是这种情况,您可以将字符编码作为第二个参数提供给render()方法。