4 * This file is part of the Symfony package.
6 * (c) Fabien Potencier <fabien@symfony.com>
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
12 namespace Symfony\Component\Finder\Iterator;
15 * DepthRangeFilterIterator limits the directory depth.
17 * @author Fabien Potencier <fabien@symfony.com>
19 class DepthRangeFilterIterator extends FilterIterator
21 private $minDepth = 0;
26 * @param \RecursiveIteratorIterator $iterator The Iterator to filter
27 * @param int $minDepth The min depth
28 * @param int $maxDepth The max depth
30 public function __construct(\RecursiveIteratorIterator $iterator, $minDepth = 0, $maxDepth = PHP_INT_MAX)
32 $this->minDepth = $minDepth;
33 $iterator->setMaxDepth(PHP_INT_MAX === $maxDepth ? -1 : $maxDepth);
35 parent::__construct($iterator);
39 * Filters the iterator values.
41 * @return bool true if the value should be kept, false otherwise
43 public function accept()
45 return $this->getInnerIterator()->getDepth() >= $this->minDepth;