File tree Expand file tree Collapse file tree 4 files changed +24
-4
lines changed Expand file tree Collapse file tree 4 files changed +24
-4
lines changed Original file line number Diff line number Diff line change 2
2
3
3
All notable changes to ` laravel-settings ` will be documented in this file
4
4
5
+ ## 2.1.2 - 2020-04-08
6
+
7
+ - skip classes with errors when discovering settings
8
+
5
9
## 2.1.1 - 2020-04-07
6
10
7
11
- add better support for nullable types in docblocks
Original file line number Diff line number Diff line change 6
6
use Spatie \LaravelSettings \Settings ;
7
7
use SplFileInfo ;
8
8
use Symfony \Component \Finder \Finder ;
9
+ use Throwable ;
9
10
10
11
class DiscoverSettings
11
12
{
@@ -59,9 +60,15 @@ public function discover(): array
59
60
$ files = (new Finder ())->files ()->in ($ this ->directories );
60
61
61
62
return collect ($ files )
62
- ->reject (fn (SplFileInfo $ file ) => in_array ($ file ->getPathname (), $ this ->ignoredFiles ))
63
- ->map (fn (SplFileInfo $ file ) => $ this ->fullQualifiedClassNameFromFile ($ file ))
64
- ->filter (fn (string $ settingsClass ) => is_subclass_of ($ settingsClass , Settings::class))
63
+ ->reject (fn (SplFileInfo $ file ) => in_array ($ file ->getPathname (), $ this ->ignoredFiles ))
64
+ ->map (fn (SplFileInfo $ file ) => $ this ->fullQualifiedClassNameFromFile ($ file ))
65
+ ->filter (function (string $ settingsClass ) {
66
+ try {
67
+ return is_subclass_of ($ settingsClass , Settings::class);
68
+ } catch (Throwable $ e ) {
69
+ return false ;
70
+ }
71
+ })
65
72
->flatten ()
66
73
->toArray ();
67
74
}
Original file line number Diff line number Diff line change @@ -103,7 +103,7 @@ private static function reflectCompound(
103
103
Compound $ compound
104
104
): Nullable {
105
105
if ($ compound ->getIterator ()->count () !== 2 || ! $ compound ->contains (new Null_ ())) {
106
- throw CouldNotResolveDocblockType::create ($ compound , $ reflectionProperty );
106
+ throw CouldNotResolveDocblockType::create (( string ) $ compound , $ reflectionProperty );
107
107
}
108
108
109
109
$ other = current (array_filter (
Original file line number Diff line number Diff line change
1
+ <?php
2
+
3
+ namespace Spatie \LaravelSettings \Tests \TestClasses ;
4
+
5
+ class CrashingClass extends DoesNotExist
6
+ {
7
+ // This class should be skipped bu the settings discoverer
8
+ // since it extends from a class that DoesNotExists
9
+ }
You can’t perform that action at this time.
0 commit comments