예제 #1
0
 /**
  * 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)))]);
     }
 }
예제 #2
0
 /**
  * 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);
     }
 }