Skip to content

Commit bc44eb9

Browse files
authored
fix: handle invalid discovery cache (tempestphp#492)
1 parent 72e88c8 commit bc44eb9

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

src/Tempest/Core/src/Kernel/LoadDiscoveryClasses.php

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
use FilesystemIterator;
88
use RecursiveDirectoryIterator;
99
use RecursiveIteratorIterator;
10+
use ReflectionException;
1011
use SplFileInfo;
1112
use Tempest\Container\Container;
1213
use Tempest\Core\DiscoversPath;
@@ -32,11 +33,15 @@ public function __invoke(): void
3233
/** @var Discovery $discovery */
3334
$discovery = $this->container->get($discoveryClass);
3435

35-
if ($this->kernel->discoveryCache && $discovery->hasCache()) {
36-
$discovery->restoreCache($this->container);
37-
next($this->kernel->discoveryClasses);
36+
try {
37+
if ($this->kernel->discoveryCache && $discovery->hasCache()) {
38+
$discovery->restoreCache($this->container);
39+
next($this->kernel->discoveryClasses);
3840

39-
continue;
41+
continue;
42+
}
43+
} catch (ReflectionException) {
44+
// Invalid cache
4045
}
4146

4247
foreach ($this->kernel->discoveryLocations as $discoveryLocation) {

0 commit comments

Comments
 (0)