route:cache 가 걸리면 RouteServiceProvider 가 캐시 로드로 분기해 라우트 파일이 실행되지 않는다. routes/devtools.php 는 전역 함수 5개를 정의하고 핸들러가 호출했고, boost 의 browser-logs 는 프로바이더 boot 등록분이라 setCompiledRoutes 교체로 폐기됐다. 7.0.6 의 RouteCacheHelper 가 12개 라이프사이클 지점에서 캐시를 자동 생성하면서, 확장을 한 번이라도 건드린 사이트에서 항상 재현됐다. 로직을 오토로드되는 App\Support\DevTools\* 로 옮기고 browser-logs URI 를 G7 가 직접 소유해 캐시에 함께 구워지게 했다. 게이트가 참조하던 App\Models\Setting 은 저장소에 없는 유물이라 ConfigRepositoryInterface 로 교체했다. 같은 부류의 재발은 정적 검사(route-file-local-function)로 차단하고, 재현이 in-process 로 불가능하므로 서브프로세스 하네스로 회귀를 고정했다.
20 lines
1011 B
PHP
20 lines
1011 B
PHP
<?php
|
|
|
|
// G7 DevTools 엔드포인트(routes/devtools.php) 응답 문구.
|
|
// 디버그 모드에서만 동작하는 개발 도구 전용이며, MCP 도구와 브라우저 클라이언트가 소비한다.
|
|
// 응답의 `status` 값은 계약이므로 번역 대상이 아니다 — 사람이 읽는 `message` 만 여기 둔다.
|
|
return [
|
|
// 접근 게이트
|
|
'debug_disabled' => '디버그 모드가 비활성화되어 있습니다.',
|
|
'connection_ok' => '연결 성공',
|
|
|
|
// 덤프 데이터 조회 (MCP 도구용)
|
|
'no_state' => '상태 덤프 파일이 없습니다. 브라우저에서 G7DevTools.server.dumpState()를 실행하세요.',
|
|
'no_actions' => '액션 이력 파일이 없습니다.',
|
|
'no_cache' => '캐시 통계 파일이 없습니다.',
|
|
'no_change_detection' => '변경 감지 데이터가 없습니다. 브라우저에서 G7DevTools.server.dumpState()를 실행하세요.',
|
|
|
|
// 데이터 삭제
|
|
'cleared' => '디버그 데이터가 삭제되었습니다.',
|
|
];
|