Skip to content

Commit

Permalink
Refactor Autoload
Browse files Browse the repository at this point in the history
  • Loading branch information
guillaumemonet committed Feb 11, 2023
1 parent c825881 commit 8d7f1b7
Showing 1 changed file with 8 additions and 16 deletions.
24 changes: 8 additions & 16 deletions src/Rad/Config/AutoConfig.php
Original file line number Diff line number Diff line change
Expand Up @@ -58,29 +58,21 @@ private static function findControllers(): array {
}

private static function parseFile($file): ?string {
$content = file_get_contents($file);
$matches = [];
$classname = [
'namespace' => '',
'classname' => ''
];
$content = file_get_contents($file);
$namespaces = [];
$classnames = [];
preg_match("/namespace\s+(.*);/", $content, $namespaces);
preg_match('/class\s+(\w+)\s+/', $content, $classnames);

if (preg_match("/namespace\s+(.*);/", $content, $matches)) {
$classname['namespace'] = $matches[1];
}

if (preg_match('/class\s+(\w+)\s+/', $content, $matches)) {
$classname['classname'] = $matches[1];
}
if ($classname['classname'] != '') {
$clname = $classname['namespace'] . "\\" . $classname['classname'];
try {
$clname = $namespaces[1] . "\\" . $classnames[1];
$reflector = new ReflectionClass($clname);
if ($reflector->isSubclassOf('Rad\\Controller\\Controller')) {
return $clname;
} else {
return null;
}
} else {
} catch (Exception $ex) {
return null;
}
}
Expand Down

0 comments on commit 8d7f1b7

Please sign in to comment.