|
1 | 1 | <?php |
2 | | - |
| 2 | +/** @noinspection PhpPropertyOnlyWrittenInspection */ |
3 | 3 | namespace Okapi\CodeTransformer\Core; |
4 | 4 |
|
5 | 5 | use Composer\Autoload\ClassLoader as ComposerClassLoader; |
| 6 | +use DI\Attribute\Inject; |
6 | 7 | use Okapi\CodeTransformer\Core\AutoloadInterceptor\ClassLoader; |
| 8 | +use Okapi\CodeTransformer\Core\Util\ReflectionHelper; |
7 | 9 |
|
8 | 10 | /** |
9 | 11 | * # Autoload Interceptor |
|
19 | 21 | */ |
20 | 22 | class AutoloadInterceptor implements ServiceInterface |
21 | 23 | { |
22 | | - /** |
23 | | - * The DI key for the original composer class loader. |
24 | | - */ |
25 | | - public const DI = 'okapi.code-transformer.service.composer.class-loader'; |
| 24 | + // region DI |
| 25 | + |
| 26 | + #[Inject] |
| 27 | + private ReflectionHelper $reflectionHelper; |
| 28 | + |
| 29 | + // endregion |
26 | 30 |
|
27 | 31 | /** |
28 | 32 | * Register the autoload interceptor. |
@@ -59,17 +63,17 @@ private function overloadComposerLoaders(): void |
59 | 63 |
|
60 | 64 | // Get the original composer loader |
61 | 65 | $originalClassLoader = $loader[0]; |
62 | | - DI::set(static::DI, $originalClassLoader); |
| 66 | + $this->reflectionHelper->setClassLoader($originalClassLoader); |
63 | 67 |
|
64 | | - // Register the AOP class loader |
| 68 | + // Create the Code Transformer class loader |
65 | 69 | $loader[0] = DI::make(ClassLoader::class, [ |
66 | 70 | 'originalClassLoader' => $originalClassLoader, |
67 | 71 | ]); |
68 | 72 |
|
69 | 73 | // Unregister the original composer loader |
70 | 74 | spl_autoload_unregister($loaderToUnregister); |
71 | 75 |
|
72 | | - // Register the AOP class loader |
| 76 | + // Register the Code Transformer class loader |
73 | 77 | spl_autoload_register($loader); |
74 | 78 | } |
75 | 79 | } |
|
0 commit comments