/** * Internal method to fetch all migration filenames. */ private function getFiles() { foreach ($this->files->getFiles($this->config['directory'], '*.php') as $filename) { $reflection = $this->tokenizer->fileReflection($filename); $definition = explode('_', basename($filename)); (yield ['filename' => $filename, 'class' => $reflection->getClasses()[0], 'created' => \DateTime::createFromFormat(self::TIMESTAMP_FORMAT, $definition[0]), 'name' => str_replace('.php', '', join('_', array_slice($definition, 2)))]); } }
/** * Available file reflections. Generator. * * * @generate ReflectionFile[] */ protected function availableReflections() { /** * @var SplFileInfo $file */ foreach ($this->finder->getIterator() as $file) { $reflection = $this->tokenizer->fileReflection((string) $file); //We are not analyzing files which has includes, it's not safe to require such reflections if ($reflection->hasIncludes()) { $this->logger()->warning("File '{filename}' has includes and will be excluded from analysis.", ['filename' => (string) $file]); continue; } /** * @var ReflectionFile $reflection */ (yield $reflection); } }