Thanks to visit codestin.com
Credit goes to github.com

Skip to content
This repository was archived by the owner on Nov 15, 2018. It is now read-only.

Commit 4d6652c

Browse files
committed
Support getter autowiring
1 parent 3f8c914 commit 4d6652c

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed

DependencyInjection/Configuration.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,10 @@ public function getConfigTreeBuilder()
3030
$treeBuilder->root('dunglas_action')
3131
->fixXmlConfig('directory', 'directories')
3232
->children()
33+
->scalarNode('methods')
34+
->defaultValue(['__construct', 'get*', 'set*'])
35+
->info('The list of methods to autowire.')
36+
->end()
3337
->arrayNode('directories')
3438
->info('List of directories relative to the kernel root directory containing classes.')
3539
->prototype('scalar')->end()

DependencyInjection/DunglasActionExtension.php

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public function load(array $configs, ContainerBuilder $container)
3838
$directoryList = array_merge($directoryList, $directories);
3939

4040
foreach ($classes as $class) {
41-
$this->registerClass($container, $class, $config['tags']);
41+
$this->registerClass($container, $class, $config['tags'], $config['methods']);
4242
}
4343
}
4444

@@ -119,16 +119,17 @@ private function getClasses($directory)
119119
* @param ContainerBuilder $container
120120
* @param string $className
121121
* @param array $tags
122+
* @param string[] $methods
122123
*/
123-
private function registerClass(ContainerBuilder $container, $className, array $tags)
124+
private function registerClass(ContainerBuilder $container, $className, array $tags, array $methods)
124125
{
125126
if ($container->has($className)) {
126127
return;
127128
}
128129

129130
$definition = $container->register($className, $className);
130131
if (method_exists($definition, 'setAutowiredMethods')) {
131-
$definition->setAutowiredMethods(['__construct', 'set*']);
132+
$definition->setAutowiredMethods($methods);
132133
} else {
133134
$definition->setAutowired(true);
134135
}

0 commit comments

Comments
 (0)