Exemple #1
0
 /**
  * Find all classes in a folder.
  * 
  * @param string $subfolder
  * @return \ReflectionClass array
  */
 public function findClasses($subfolder)
 {
     $classes = array();
     $folder = new Fs\Folder($this->path() . $subfolder);
     if ($folder->exists()) {
         $items = $folder->ls();
         foreach ($items as $item) {
             if ($item instanceof Fs\File) {
                 $subParts = explode('/', $subfolder);
                 $subParts = array_map("ucfirst", $subParts);
                 $className = 'GO\\' . ucfirst($this->id()) . '\\' . implode('\\', $subParts) . '\\' . $item->nameWithoutExtension();
                 if (class_exists($className)) {
                     $reflectionClass = new \ReflectionClass($className);
                     if (!$reflectionClass->isAbstract()) {
                         $classes[] = $reflectionClass;
                     }
                 }
             }
         }
     }
     return $classes;
 }