本文整理汇总了PHP中Zend_Navigation_Page::getResource方法的典型用法代码示例。如果您正苦于以下问题:PHP Zend_Navigation_Page::getResource方法的具体用法?PHP Zend_Navigation_Page::getResource怎么用?PHP Zend_Navigation_Page::getResource使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Zend_Navigation_Page
的用法示例。
在下文中一共展示了Zend_Navigation_Page::getResource方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: isVisibleAtBackend
/**
* The page will be invisible if it has no resource and no visible children
* This method is used to hide empty parent items in backend navigation
*
* @param Zend_Navigation_Page $page page to check
* @return bool
*/
public function isVisibleAtBackend(Zend_Navigation_Page $page)
{
if ($page->getResource()) {
return true;
}
$visible = true;
$iterator = new RecursiveIteratorIterator($page, RecursiveIteratorIterator::SELF_FIRST);
foreach ($iterator as $child) {
if (!$child->getResource()) {
continue;
// anchor page
}
$visible = $this->accept($child, false);
if ($visible) {
break;
}
}
return $visible;
}
示例2: _acceptAcl
/**
* Determines whether a page should be accepted by ACL when iterating
*
* Rules:
* - If helper has no ACL, page is accepted
* - If page has a resource or privilege defined, page is accepted
* if the ACL allows access to it using the helper's role
* - If page has no resource or privilege, page is accepted
*
* @param Zend_Navigation_Page $page page to check
* @return bool whether page is accepted by ACL
*/
protected function _acceptAcl(Zend_Navigation_Page $page)
{
if (!($acl = $this->getAcl())) {
// no acl registered means don't use acl
return true;
}
$role = $this->getRole();
$resource = $page->getResource();
$privilege = $page->getPrivilege();
if ($resource || $privilege) {
// determine using helper role and page resource/privilege
return $acl->isAllowed($role, $resource, $privilege);
}
return true;
}
示例3: parseNavigationPage
/**
* 根据Zend_Navigation_Page对象生成资源字符串
*
* @static
* @param Zend_Navigation_Page $page
* @return string
*/
public static function parseNavigationPage(Zend_Navigation_Page $page)
{
if ($page instanceof Zend_Navigation_Page_Mvc) {
$mvc = array($page->getModule(), $page->getController(), $page->getAction());
return implode(self::SEPARATOR, array_filter($mvc));
} else {
if ($page instanceof Zend_Navigation_Page_Uri) {
return self::parseUri($page->getUri());
}
}
return $page->getResource();
}