mirror of
https://github.com/yiisoft/yii2.git
synced 2025-10-30 01:56:35 +08:00
Fix #18115: Allow to load action-injected services from module's container
This commit is contained in:
@ -565,9 +565,12 @@ class Controller extends Component implements ViewContextInterface
|
||||
if (($component = $this->module->get($name, false)) instanceof $typeName) {
|
||||
$args[] = $component;
|
||||
$requestedParams[$name] = "Component: " . get_class($component) . " \$$name";
|
||||
} elseif ($this->module->has($typeName) && ($service = $this->module->get($typeName)) instanceof $typeName) {
|
||||
$args[] = $service;
|
||||
$requestedParams[$name] = 'Module ' . get_class($this->module) . " DI: $typeName \$$name";
|
||||
} elseif (\Yii::$container->has($typeName) && ($service = \Yii::$container->get($typeName)) instanceof $typeName) {
|
||||
$args[] = $service;
|
||||
$requestedParams[$name] = "DI: $typeName \$$name";
|
||||
$requestedParams[$name] = "Container DI: $typeName \$$name";
|
||||
} elseif ($type->allowsNull()) {
|
||||
$args[] = null;
|
||||
$requestedParams[$name] = "Unavailable service: $name";
|
||||
|
||||
Reference in New Issue
Block a user