File tree Expand file tree Collapse file tree 2 files changed +28
-7
lines changed Expand file tree Collapse file tree 2 files changed +28
-7
lines changed Original file line number Diff line number Diff line change 13
13
use Codions \ThemesManager \Traits \HasProviders ;
14
14
use Codions \ThemesManager \Traits \HasTranslations ;
15
15
use Codions \ThemesManager \Traits \HasViews ;
16
+ use Exception ;
16
17
use Illuminate \Filesystem \Filesystem ;
17
18
use Illuminate \Support \Facades \Config ;
18
19
use Illuminate \Support \Facades \Log ;
@@ -208,6 +209,21 @@ public function getNamespace(string $path = null): string
208
209
return "Themes \\$ vendor \\$ name \\" . $ path ;
209
210
}
210
211
212
+ public function getInstance (string $ path )
213
+ {
214
+ if (! $ this ->enabled ()) {
215
+ $ this ->requireClass ($ path );
216
+ }
217
+
218
+ $ class = $ this ->getNamespace ($ path );
219
+
220
+ if (! class_exists ($ class )) {
221
+ throw new Exception ("Class not found: {$ class }" );
222
+ }
223
+
224
+ return new $ class ;
225
+ }
226
+
211
227
/**
212
228
* Check if has parent Theme.
213
229
*/
Original file line number Diff line number Diff line change @@ -13,15 +13,20 @@ trait Autoloader
13
13
public function registerAutoloader ()
14
14
{
15
15
spl_autoload_register (function ($ class ) {
16
- $ class = str_replace ($ this ->getNamespace (), '' , $ class );
16
+ $ this ->requireClass ($ class );
17
+ });
18
+ }
19
+
20
+ protected function requireClass ($ class )
21
+ {
22
+ $ class = str_replace ($ this ->getNamespace (), '' , $ class );
17
23
18
- $ class = str_replace ('\\' , DIRECTORY_SEPARATOR , $ class );
19
- $ file = $ this ->getPath ("src/ {$ class }.php " );
24
+ $ class = str_replace ('\\' , DIRECTORY_SEPARATOR , $ class );
25
+ $ file = $ this ->getPath ("src/ {$ class }.php " );
20
26
21
- if (file_exists ($ file )) {
22
- require_once $ file ;
23
- }
24
- });
27
+ if (file_exists ($ file )) {
28
+ require_once $ file ;
29
+ }
25
30
}
26
31
27
32
protected function registerLivewireComponents ()
You can’t perform that action at this time.
0 commit comments