public static function fromNonSplFileInfo($nonSplFileInfo) { return new self(sprintf('Expected an iterator of SplFileInfo instances, %s given instead', is_object($nonSplFileInfo) ? get_class($nonSplFileInfo) : gettype($nonSplFileInfo))); }
/** * @param \Iterator|\SplFileInfo[] $fileInfoIterator note: only \SplFileInfo allowed in this iterator * * @throws InvalidFileInfo In case of iterator not contains only SplFileInfo */ public function __construct(\Iterator $fileInfoIterator) { foreach ($fileInfoIterator as $fileInfo) { if (!$fileInfo instanceof \SplFileInfo) { throw InvalidFileInfo::fromNonSplFileInfo($fileInfo); } } $this->fileSystemIterator = $fileInfoIterator; }