Mercurial > hg > isophonics-drupal-site
annotate vendor/symfony/dependency-injection/Loader/Configurator/Traits/FactoryTrait.php @ 19:fa3358dc1485 tip
Add ndrum files
author | Chris Cannam |
---|---|
date | Wed, 28 Aug 2019 13:14:47 +0100 |
parents | 129ea1e6d783 |
children |
rev | line source |
---|---|
Chris@14 | 1 <?php |
Chris@14 | 2 |
Chris@14 | 3 /* |
Chris@14 | 4 * This file is part of the Symfony package. |
Chris@14 | 5 * |
Chris@14 | 6 * (c) Fabien Potencier <fabien@symfony.com> |
Chris@14 | 7 * |
Chris@14 | 8 * For the full copyright and license information, please view the LICENSE |
Chris@14 | 9 * file that was distributed with this source code. |
Chris@14 | 10 */ |
Chris@14 | 11 |
Chris@14 | 12 namespace Symfony\Component\DependencyInjection\Loader\Configurator\Traits; |
Chris@14 | 13 |
Chris@14 | 14 use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException; |
Chris@14 | 15 |
Chris@14 | 16 trait FactoryTrait |
Chris@14 | 17 { |
Chris@14 | 18 /** |
Chris@14 | 19 * Sets a factory. |
Chris@14 | 20 * |
Chris@14 | 21 * @param string|array $factory A PHP callable reference |
Chris@14 | 22 * |
Chris@14 | 23 * @return $this |
Chris@14 | 24 */ |
Chris@14 | 25 final public function factory($factory) |
Chris@14 | 26 { |
Chris@17 | 27 if (\is_string($factory) && 1 === substr_count($factory, ':')) { |
Chris@14 | 28 $factoryParts = explode(':', $factory); |
Chris@14 | 29 |
Chris@14 | 30 throw new InvalidArgumentException(sprintf('Invalid factory "%s": the `service:method` notation is not available when using PHP-based DI configuration. Use "[ref(\'%s\'), \'%s\']" instead.', $factory, $factoryParts[0], $factoryParts[1])); |
Chris@14 | 31 } |
Chris@14 | 32 |
Chris@14 | 33 $this->definition->setFactory(static::processValue($factory, true)); |
Chris@14 | 34 |
Chris@14 | 35 return $this; |
Chris@14 | 36 } |
Chris@14 | 37 } |