Doctrine\Common\DataFixtures\Loader::loadFromIterator PHP Method

loadFromIterator() private method

Load fixtures from files contained in iterator.
private loadFromIterator ( Iterator $iterator ) : array
$iterator Iterator Iterator over files from which fixtures should be loaded.
return array $fixtures Array of loaded fixture object instances.
    private function loadFromIterator(\Iterator $iterator)
    {
        $includedFiles = array();
        foreach ($iterator as $file) {
            if (($fileName = $file->getBasename($this->fileExtension)) == $file->getBasename()) {
                continue;
            }
            $sourceFile = realpath($file->getPathName());
            require_once $sourceFile;
            $includedFiles[] = $sourceFile;
        }
        $fixtures = array();
        $declared = get_declared_classes();
        // Make the declared classes order deterministic
        sort($declared);
        foreach ($declared as $className) {
            $reflClass = new \ReflectionClass($className);
            $sourceFile = $reflClass->getFileName();
            if (in_array($sourceFile, $includedFiles) && !$this->isTransient($className)) {
                $fixture = new $className();
                $fixtures[] = $fixture;
                $this->addFixture($fixture);
            }
        }
        return $fixtures;
    }