Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
100.00% |
1 / 1 |
|
100.00% |
1 / 1 |
CRAP | |
100.00% |
5 / 5 |
FactoryTrait | |
100.00% |
1 / 1 |
|
100.00% |
1 / 1 |
3 | |
100.00% |
5 / 5 |
factory | |
100.00% |
1 / 1 |
3 | |
100.00% |
5 / 5 |
1 | <?php |
2 | |
3 | /* |
4 | * This file is part of the Symfony package. |
5 | * |
6 | * (c) Fabien Potencier <fabien@symfony.com> |
7 | * |
8 | * For the full copyright and license information, please view the LICENSE |
9 | * file that was distributed with this source code. |
10 | */ |
11 | |
12 | namespace Symfony\Component\DependencyInjection\Loader\Configurator\Traits; |
13 | |
14 | use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException; |
15 | |
16 | trait FactoryTrait |
17 | { |
18 | /** |
19 | * Sets a factory. |
20 | * |
21 | * @param string|array $factory A PHP callable reference |
22 | * |
23 | * @return $this |
24 | */ |
25 | final public function factory($factory): self |
26 | { |
27 | if (\is_string($factory) && 1 === substr_count($factory, ':')) { |
28 | $factoryParts = explode(':', $factory); |
29 | |
30 | throw new InvalidArgumentException(sprintf('Invalid factory "%s": the "service:method" notation is not available when using PHP-based DI configuration. Use "[service(\'%s\'), \'%s\']" instead.', $factory, $factoryParts[0], $factoryParts[1])); |
31 | } |
32 | |
33 | $this->definition->setFactory(static::processValue($factory, true)); |
34 | |
35 | return $this; |
36 | } |
37 | } |