respect-validation/library/Exceptions/RecursiveExceptionIterator.php
Henrique Moody 8c9c587597 Improvements and fixes on exceptions
There were some cases when the exceptions was not displayed property
when using nested exception, this commit fix the problem and also
display messages in Markdown list.
2015-10-22 03:01:41 -02:00

70 lines
1.3 KiB
PHP

<?php
/*
* This file is part of Respect/Validation.
*
* (c) Alexandre Gomes Gaigalas <alexandre@gaigalas.net>
*
* For the full copyright and license information, please view the "LICENSE.md"
* file that was distributed with this source code.
*/
namespace Respect\Validation\Exceptions;
use Countable;
use RecursiveIterator;
class RecursiveExceptionIterator implements RecursiveIterator, Countable
{
private $exceptions;
public function __construct(AbstractNestedException $parent)
{
$this->exceptions = $parent->getRelated();
}
public function count()
{
return $this->exceptions->count();
}
public function hasChildren()
{
if (!$this->valid()) {
return false;
}
return ($this->current() instanceof AbstractNestedException);
}
public function getChildren()
{
return new static($this->current());
}
public function current()
{
return $this->exceptions->current();
}
public function key()
{
return $this->exceptions->key();
}
public function next()
{
$this->exceptions->next();
}
public function rewind()
{
$this->exceptions->rewind();
}
public function valid()
{
return $this->exceptions->valid();
}
}