This commit is contained in:
2026-06-24 20:37:13 +08:00
parent f099ca8402
commit 69804ea595
+6 -2
View File
@@ -211,11 +211,13 @@ class Router
{ {
$coordinator = CoordinatorManager::utility(Coordinator::WORKER_START); $coordinator = CoordinatorManager::utility(Coordinator::WORKER_START);
$container = Kiri::getDi(); $container = Kiri::getDi();
$container->get(DataGrip::class)->reset(static::$type);
$changedFiles = $container->get(HotReloadState::class)->consume(); $changedFiles = $container->get(HotReloadState::class)->consume();
// Worker 首次启动(无变更文件 + Master 已完成扫描):仅加载路由,跳过全量 app 扫描 // Worker 首次启动(无变更文件 + Master 已完成扫描):
// RouterCollector 已由 Master 填充(含路由文件路由 + 注解路由),Worker 通过 fork 继承
// 重新 include 路由文件以更新 Router::get/post 等显式注册的路由(同 key 覆盖不产生重复)
// 注解路由(#[Route]/#[Get]/#[Post]等)由 Master 注入保留,无需重新扫描 app 目录
if (empty($changedFiles) && self::$initialScanDone) { if (empty($changedFiles) && self::$initialScanDone) {
$this->read_dir_file(APP_PATH . 'routes'); $this->read_dir_file(APP_PATH . 'routes');
$this->reset($container); $this->reset($container);
@@ -226,6 +228,8 @@ class Router
// 标记首次扫描完成(Master 首次启动或 Worker 热重载时执行到此) // 标记首次扫描完成(Master 首次启动或 Worker 热重载时执行到此)
self::$initialScanDone = true; self::$initialScanDone = true;
$container->get(DataGrip::class)->reset(static::$type);
$scanner = $container->get(Kiri\Di\Scanner::class); $scanner = $container->get(Kiri\Di\Scanner::class);
$artifactState = $container->get(RouteArtifactState::class); $artifactState = $container->get(RouteArtifactState::class);
$scanConfig = array_merge( $scanConfig = array_merge(