- <?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\Permissions\Rbac;
-
- use RecursiveIterator;
-
- abstract class AbstractIterator implements RecursiveIterator
- {
- protected $index = 0;
- protected $children = array();
-
- /**
- * (PHP 5 >= 5.0.0)<br/>
- * Return the current element
- * @link http://php.net/manual/en/iterator.current.php
- * @return mixed Can return any type.
- */
- public function current()
- {
- return $this->children[$this->index];
- }
-
- /**
- * (PHP 5 >= 5.0.0)<br/>
- * Move forward to next element
- * @link http://php.net/manual/en/iterator.next.php
- * @return void Any returned value is ignored.
- */
- public function next()
- {
- $this->index++;
- }
-
- /**
- * (PHP 5 >= 5.0.0)<br/>
- * Return the key of the current element
- * @link http://php.net/manual/en/iterator.key.php
- * @return scalar scalar on success, or null on failure.
- */
- public function key()
- {
- return $this->index;
- }
-
- /**
- * (PHP 5 >= 5.0.0)<br/>
- * Checks if current position is valid
- * @link http://php.net/manual/en/iterator.valid.php
- * @return bool The return value will be casted to boolean and then evaluated.
- * Returns true on success or false on failure.
- */
- public function valid()
- {
- return isset($this->children[$this->index]);
- }
-
- /**
- * (PHP 5 >= 5.0.0)<br/>
- * Rewind the Iterator to the first element
- * @link http://php.net/manual/en/iterator.rewind.php
- * @return void Any returned value is ignored.
- */
- public function rewind()
- {
- $this->index = 0;
- }
-
- /**
- * (PHP 5 >= 5.1.0)<br/>
- * Returns if an iterator can be created fot the current entry.
- * @link http://php.net/manual/en/recursiveiterator.haschildren.php
- * @return bool true if the current entry can be iterated over, otherwise returns false.
- */
- public function hasChildren()
- {
- if ($this->valid() && ($this->current() instanceof RecursiveIterator)) {
- return true;
- }
-
- return false;
- }
-
- /**
- * (PHP 5 >= 5.1.0)<br/>
- * Returns an iterator for the current entry.
- * @link http://php.net/manual/en/recursiveiterator.getchildren.php
- * @return RecursiveIterator An iterator for the current entry.
- */
- public function getChildren()
- {
- return $this->children[$this->index];
- }
- }
# |
Change |
User |
Description |
Committed |
|
#1
|
18334 |
Liz Lam |
initial add of jambox |
9 years ago
|
|