<?php
/**
* Zend Framework (http://framework.zend.com/)
*
* @link http://github.com/zendframework/zf2 for the canonical source repository
* @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
namespace Zend\View\Helper\Navigation;
use Zend\Navigation;
use Zend\Permissions\Acl;
use Zend\View\Helper\HelperInterface as BaseHelperInterface;
/**
* Interface for navigational helpers
*/
interface HelperInterface extends BaseHelperInterface
{
/**
* Magic overload: Should proxy to {@link render()}.
*
* @return string
*/
public function __toString();
/**
* Renders helper
*
* @param string|Navigation\AbstractContainer $container [optional] container to render.
* Default is null, which indicates
* that the helper should render
* the container returned by {@link
* getContainer()}.
* @return string helper output
* @throws \Zend\View\Exception\ExceptionInterface
*/
public function render($container = null);
/**
* Sets ACL to use when iterating pages
*
* @param Acl\AclInterface $acl [optional] ACL instance
* @return HelperInterface
*/
public function setAcl(Acl\AclInterface $acl = null);
/**
* Returns ACL or null if it isn't set using {@link setAcl()} or
* {@link setDefaultAcl()}
*
* @return Acl\AclInterface|null
*/
public function getAcl();
/**
* Checks if the helper has an ACL instance
*
* @return bool
*/
public function hasAcl();
/**
* Sets navigation container the helper should operate on by default
*
* @param string|Navigation\AbstractContainer $container [optional] container to operate
* on. Default is null, which
* indicates that the container
* should be reset.
* @return HelperInterface
*/
public function setContainer($container = null);
/**
* Returns the navigation container the helper operates on by default
*
* @return Navigation\AbstractContainer navigation container
*/
public function getContainer();
/**
* Checks if the helper has a container
*
* @return bool
*/
public function hasContainer();
/**
* Render invisible items?
*
* @param bool $renderInvisible [optional] boolean flag
* @return HelperInterface
*/
public function setRenderInvisible($renderInvisible = true);
/**
* Return renderInvisible flag
*
* @return bool
*/
public function getRenderInvisible();
/**
* Sets ACL role to use when iterating pages
*
* @param mixed $role [optional] role to set. Expects a string, an
* instance of type {@link Acl\Role}, or null. Default
* is null.
* @throws \Zend\View\Exception\ExceptionInterface if $role is invalid
* @return HelperInterface
*/
public function setRole($role = null);
/**
* Returns ACL role to use when iterating pages, or null if it isn't set
*
* @return string|Acl\Role\RoleInterface|null
*/
public function getRole();
/**
* Checks if the helper has an ACL role
*
* @return bool
*/
public function hasRole();
/**
* Sets whether ACL should be used
*
* @param bool $useAcl [optional] whether ACL should be used. Default is true.
* @return HelperInterface
*/
public function setUseAcl($useAcl = true);
/**
* Returns whether ACL should be used
*
* @return bool
*/
public function getUseAcl();
}