삭제하지 못하고 남은 파일의 절대 경로. 전부 지웠거나 원래 없었으면 빈 배열 */ public static function clear(): array { $app = app(); $remaining = []; foreach ([$app->getCachedServicesPath(), $app->getCachedPackagesPath()] as $path) { if (! is_file($path)) { continue; } if (! @unlink($path)) { clearstatcache(true, $path); if (is_file($path)) { $remaining[] = $path; } } } clearstatcache(); return $remaining; } /** * 패키지 매니페스트 캐시를 비우고 현재 vendor 기준으로 다시 만듭니다. * * `package:discover` 는 새 Application 을 부팅하지 않으므로(현재 앱의 `PackageManifest` 를 * 그대로 쓴다) `ConfigCacheHelper::withPreservedContainer()` 로 감쌀 필요가 없다. * * @return void */ public static function rebuild(): void { self::clear(); Artisan::call('package:discover'); } }