refactor(kernel): unify HTTP and CLI application lifecycle

Signed-off-by: Sebastian Krupinski <krupinski01@gmail.com>
This commit is contained in:
2026-07-27 00:48:11 -04:00
parent 98826143a8
commit 65c1b5fb75
67 changed files with 2737 additions and 1070 deletions
+7 -5
View File
@@ -2,7 +2,7 @@
namespace KTXC\Module;
use KTXC\Server;
use Composer\Autoload\ClassLoader;
/**
* Custom autoloader for modules that allows PascalCase namespaces
@@ -20,7 +20,10 @@ class ModuleAutoloader
private array $namespaceMap = [];
private bool $scanned = false;
public function __construct(string $modulesRoot)
public function __construct(
string $modulesRoot,
private readonly ?ClassLoader $composerLoader = null,
)
{
$this->modulesRoot = rtrim($modulesRoot, '/');
}
@@ -73,10 +76,9 @@ class ModuleAutoloader
}
// Register module namespaces with Composer ClassLoader
$composerLoader = Server::getComposerLoader();
if ($composerLoader !== null) {
if ($this->composerLoader !== null) {
foreach ($this->namespaceMap as $namespace => $folderName) {
$composerLoader->addPsr4(
$this->composerLoader->addPsr4(
'KTXM\\' . $namespace . '\\',
$this->modulesRoot . '/' . $folderName . '/lib/'
);