Nachtrag:
Dabei würde die entsprechende Methode das Verzeichnis app/controllers durchsuchen und die Namen aller darin befindlichen php-Dateien in einem Controllers-Array sammeln. Die Controller sind jedoch wiederum in mehrere Unterverzeichnis aufgeteilt, weshalb ich nach einer Funktion suche, die auch in allen Unterverzeichnissen von app/controllers nachschaut. Wie könnte man das heutzutage am effektivsten machen? Vielleicht mit dem RecursiveDirectoryIterator?
Das erste Problem konnte ich folgendermaßen lösen:
private function getControllers(): array
{
$controllers = [];
$dir = '..' . DIRECTORY_SEPARATOR . 'app' . DIRECTORY_SEPARATOR . 'controllers';
$dir = new \RecursiveDirectoryIterator( $dir, \FilesystemIterator::SKIP_DOTS );
$iterator = new \RecursiveIteratorIterator( $dir );
foreach ( $iterator as $fileinfo )
$controllers[] = implode( '\\', array_map( 'ucwords', explode( '\\', str_replace( '.php', '', substr( $fileinfo -> getPathname(), 3 ) ) ) ) );
return $controllers;
}