vendor/crehler/fast-navigation/src/Service/NavigationIteratorService.php line 7

Open in your IDE?
  1. <?php
  2. namespace Crehler\FastNavigation\Service;
  3. class NavigationIteratorService implements \Iterator
  4. {
  5.     private $position;
  6.     /**
  7.      * @var array
  8.      */
  9.     private $array;
  10.     public function setArray(array $array)
  11.     {
  12.         $this->array $array;
  13.     }
  14.     public function setCurrent($position 0)
  15.     {
  16.         $this->position $position;
  17.     }
  18.     /**
  19.      * @return mixed|\TValue
  20.      */
  21.     public function current()
  22.     {
  23.         return $this->array[$this->position];
  24.     }
  25.     /**
  26.      * @inheritDoc
  27.      */
  28.     public function next()
  29.     {
  30.         ++$this->position;
  31.     }
  32.     public function prev()
  33.     {
  34.         --$this->position;
  35.     }
  36.     public function key()
  37.     {
  38.         return $this->position;
  39.     }
  40.     /**
  41.      * @inheritDoc
  42.      */
  43.     public function valid()
  44.     {
  45.         return isset($this->array[$this->position]);
  46.     }
  47.     /**
  48.      * @inheritDoc
  49.      */
  50.     public function rewind()
  51.     {
  52.         $this->position 0;
  53.     }
  54.     public function find($element)
  55.     {
  56.         return array_search($element$this->array);
  57.     }
  58. }