44
55use Micro \Framework \Kernel \Configuration \ApplicationConfigurationInterface ;
66use Micro \Framework \Kernel \Configuration \PluginConfiguration ;
7+ use Micro \Framework \Kernel \Configuration \PluginConfigurationInterface ;
78
89class PluginConfigurationClassResolver
910{
10- /**
11- * @var PluginConfigurationClassResolverInterface[]
12- */
13- private array $ resolvers ;
14-
1511 /**
1612 * @param string $pluginClass
1713 * @param ApplicationConfigurationInterface $applicationConfiguration
@@ -21,18 +17,17 @@ public function __construct(
2117 private ApplicationConfigurationInterface $ applicationConfiguration
2218 )
2319 {
24- $ this ->resolvers = $ this ->getPluginClassResolvers ();
2520 }
2621
2722 /**
28- * @return PluginConfiguration
23+ * @return PluginConfigurationInterface
2924 */
30- public function resolve (): PluginConfiguration
25+ public function resolve (): PluginConfigurationInterface
3126 {
3227 $ configClassDefault = PluginConfiguration::class;
3328 $ configClasses = [];
3429
35- foreach ($ this ->resolvers as $ resolver ) {
30+ foreach ($ this ->getPluginClassResolvers () as $ resolver ) {
3631 $ configClass = $ resolver ->resolve ($ this ->pluginClass );
3732
3833 if (!class_exists ($ configClass )) {
@@ -51,14 +46,14 @@ public function resolve(): PluginConfiguration
5146 )
5247 );
5348 }
54-
49+ /** @var class-string<PluginConfigurationInterface> $configClass */
5550 $ configClass = $ configClasses [0 ] ?? $ configClassDefault ;
5651
5752 return new $ configClass ($ this ->applicationConfiguration );
5853 }
5954
6055 /**
61- * @return PluginConfigurationClassResolver []
56+ * @return PluginConfigurationClassResolverInterface []
6257 */
6358 protected function getPluginClassResolvers (): array
6459 {
0 commit comments