本文整理汇总了PHP中PEAR_PackageFile_v1::getArray方法的典型用法代码示例。如果您正苦于以下问题:PHP PEAR_PackageFile_v1::getArray方法的具体用法?PHP PEAR_PackageFile_v1::getArray怎么用?PHP PEAR_PackageFile_v1::getArray使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PEAR_PackageFile_v1
的用法示例。
在下文中一共展示了PEAR_PackageFile_v1::getArray方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: toXml
/**
* Return an XML document based on the package info (as returned
* by the PEAR_Common::infoFrom* methods).
*
* @return string XML data
*/
function toXml($state = PEAR_VALIDATE_NORMAL, $nofilevalidation = false)
{
$this->_packagefile->setDate(date('Y-m-d'));
if (!$this->_packagefile->validate($state, $nofilevalidation)) {
return false;
}
$pkginfo = $this->_packagefile->getArray();
static $maint_map = array(
"handle" => "user",
"name" => "name",
"email" => "email",
"role" => "role",
);
$ret = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n";
$ret .= "<!DOCTYPE package SYSTEM \"http://pear.php.net/dtd/package-1.0\">\n";
$ret .= "<package version=\"1.0\" packagerversion=\"1.9.0\">\n" .
" <name>$pkginfo[package]</name>";
if (isset($pkginfo['extends'])) {
$ret .= "\n<extends>$pkginfo[extends]</extends>";
}
$ret .=
"\n <summary>".$this->_fixXmlEncoding($pkginfo['summary'])."</summary>\n" .
" <description>".trim($this->_fixXmlEncoding($pkginfo['description']))."\n </description>\n" .
" <maintainers>\n";
foreach ($pkginfo['maintainers'] as $maint) {
$ret .= " <maintainer>\n";
foreach ($maint_map as $idx => $elm) {
$ret .= " <$elm>";
$ret .= $this->_fixXmlEncoding($maint[$idx]);
$ret .= "</$elm>\n";
}
$ret .= " </maintainer>\n";
}
$ret .= " </maintainers>\n";
$ret .= $this->_makeReleaseXml($pkginfo, false, $state);
if (isset($pkginfo['changelog']) && count($pkginfo['changelog']) > 0) {
$ret .= " <changelog>\n";
foreach ($pkginfo['changelog'] as $oldrelease) {
$ret .= $this->_makeReleaseXml($oldrelease, true);
}
$ret .= " </changelog>\n";
}
$ret .= "</package>\n";
return $ret;
}