Source of file AbstractIterator.php
Size: 2,749 Bytes - Last Modified: 2014-03-12T23:21:18+01:00
/home/theseer/Downloads/ZendFramework-2.3.0/library/Zend/Permissions/Rbac/AbstractIterator.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 | <?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]; } } |