Get all the classes available in the scope specified by the SourceLocator.
public getAllClasses ( ) : |
||
Результат |
/** * @param \nochso\WriteMe\Document $document * * @return \BetterReflection\Reflection\ReflectionClass[] */ private function getClasses(Document $document) { $files = $this->getFiles($document); $singleLocators = []; foreach ($files as $file) { $singleLocators[] = new SingleFileSourceLocator($file->getPathname()); } $reflector = new ClassReflector(new AggregateSourceLocator($singleLocators)); $classes = $reflector->getAllClasses(); usort($classes, function (ReflectionClass $a, ReflectionClass $b) { $ans = $a->getNamespaceName(); $bns = $b->getNamespaceName(); if ($ans === $bns) { return strnatcmp($a->getShortName(), $b->getShortName()); } return strnatcmp($ans, $bns); }); return $classes; }