From 322442aef6f85530d743d0f1d6f1bc6613b229dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=B3=B4=EA=B3=A4?= Date: Wed, 4 Mar 2026 13:21:40 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20[roadmap]=20=EA=B0=9C=EB=B0=9C=EC=84=9C?= =?UTF-8?q?=EB=B2=84=20=EB=AC=B8=EC=84=9C=20=EA=B2=BD=EB=A1=9C=20=EC=84=A4?= =?UTF-8?q?=EC=A0=95=20=EA=B0=80=EB=8A=A5=ED=95=98=EB=8F=84=EB=A1=9D=20?= =?UTF-8?q?=EA=B0=9C=EC=84=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - config/roadmap.php 추가 (ROADMAP_DOCS_BASE 환경변수) - RoadmapController에서 config 기반 경로 사용 - 로컬: base_path('../docs') 기본값 유지 - 서버: .env에서 ROADMAP_DOCS_BASE 설정 --- app/Http/Controllers/RoadmapController.php | 12 ++++++++++-- config/roadmap.php | 15 +++++++++++++++ 2 files changed, 25 insertions(+), 2 deletions(-) create mode 100644 config/roadmap.php diff --git a/app/Http/Controllers/RoadmapController.php b/app/Http/Controllers/RoadmapController.php index 4e8abd99..d7e7e813 100644 --- a/app/Http/Controllers/RoadmapController.php +++ b/app/Http/Controllers/RoadmapController.php @@ -9,6 +9,7 @@ class RoadmapController extends Controller { + /** @deprecated config('roadmap.docs_base')로 대체 */ private const DOCS_BASE = __DIR__.'/../../../../docs'; private const DOCUMENT_REGISTRY = [ @@ -122,6 +123,13 @@ public function __construct( private readonly RoadmapPlanService $planService ) {} + private function getDocsBasePath(): string + { + $path = config('roadmap.docs_base', self::DOCS_BASE); + + return realpath($path) ?: $path; + } + public function index(): View { $summary = $this->planService->getDashboardSummary(); @@ -192,7 +200,7 @@ public function documents(): View $registry = self::DOCUMENT_REGISTRY; // 각 문서의 파일 존재 여부 확인 - $docsBase = realpath(self::DOCS_BASE) ?: self::DOCS_BASE; + $docsBase = $this->getDocsBasePath(); foreach ($registry as &$group) { foreach ($group['items'] as &$item) { $item['exists'] = file_exists($docsBase.'/'.$item['path']); @@ -220,7 +228,7 @@ public function showDocument(string $slug): View abort(404, '문서를 찾을 수 없습니다.'); } - $docsBase = realpath(self::DOCS_BASE) ?: self::DOCS_BASE; + $docsBase = $this->getDocsBasePath(); $filePath = $docsBase.'/'.$document['path']; $content = null; diff --git a/config/roadmap.php b/config/roadmap.php new file mode 100644 index 00000000..d1227bae --- /dev/null +++ b/config/roadmap.php @@ -0,0 +1,15 @@ + env('ROADMAP_DOCS_BASE', base_path('../docs')), +];