39
scripts/buildClassMap.php
Normal file
39
scripts/buildClassMap.php
Normal file
@ -0,0 +1,39 @@
|
||||
<?PHP
|
||||
/**
|
||||
* Generates a class map, based on a constant AUTOLOAD_DIRS.
|
||||
*
|
||||
* @author Joshua Ramon Enslin <joshua@museum-digital.de>
|
||||
*/
|
||||
declare(strict_types = 1);
|
||||
|
||||
require_once __DIR__ . '/../inc/constants.php';
|
||||
|
||||
$classesToAutoload = [];
|
||||
|
||||
// Load list of classes
|
||||
|
||||
foreach (AUTOLOAD_DIRS as $dir) {
|
||||
|
||||
$dir = str_replace(realpath(__DIR__ . "/../") . "/inc/../", "", $dir);
|
||||
foreach (glob($dir . "/*.php") as $file) {
|
||||
$classesToAutoload[pathinfo(__DIR__ . '/../' . $file, PATHINFO_FILENAME)] = $file;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Output
|
||||
|
||||
$output = [];
|
||||
|
||||
foreach ($classesToAutoload as $key => $value) {
|
||||
|
||||
$output[] = ' \'' . $key . '\' => __DIR__ . \'/../' . $value . '\',';
|
||||
|
||||
}
|
||||
|
||||
$toWrite = '<?PHP
|
||||
const AUTOLOAD_CLASS_MAP = [
|
||||
' . implode(PHP_EOL, $output) . '
|
||||
];';
|
||||
|
||||
file_put_contents("tmp-class-map.php", $toWrite);
|
Reference in New Issue
Block a user