* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\DependencyInjection\Loader\Configurator; use Symfony\Component\DependencyInjection\Argument\ArgumentInterface; use Symfony\Component\DependencyInjection\Definition; use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException; use Symfony\Component\DependencyInjection\Parameter; use Symfony\Component\DependencyInjection\Reference; use Symfony\Component\ExpressionLanguage\Expression; abstract class AbstractConfigurator { const FACTORY = 'unknown'; /** @internal */ protected $definition; public function __call($method, $args) { if (method_exists($this, 'set'.$method)) { return call_user_func_array(array($this, 'set'.$method), $args); } throw new \BadMethodCallException(sprintf('Call to undefined method %s::%s()', get_class($this), $method)); } /** * Checks that a value is valid, optionally replacing Definition and Reference configurators by their configure value. * * @param mixed $value * @param bool $allowServices whether Definition and Reference are allowed; by default, only scalars and arrays are * * @return mixed the value, optionally cast to a Definition/Reference */ public static function processValue($value, $allowServices = false) { if (is_array($value)) { foreach ($value as $k => $v) { $value[$k] = static::processValue($v, $allowServices); } return $value; } if ($value instanceof ReferenceConfigurator) { return new Reference($value->id, $value->invalidBehavior); } if ($value instanceof InlineServiceConfigurator) { $def = $value->definition; $value->definition = null; return $def; } if ($value instanceof self) { throw new InvalidArgumentException(sprintf('"%s()" can be used only at the root of service configuration files.', $value::FACTORY)); } switch (true) { case null === $value: case is_scalar($value): return $value; case $value instanceof ArgumentInterface: case $value instanceof Definition: case $value instanceof Expression: case $value instanceof Parameter: case $value instanceof Reference: if ($allowServices) { return $value; } } throw new InvalidArgumentException(sprintf('Cannot use values of type "%s" in service configuration files.', is_object($value) ? get_class($value) : gettype($value))); } } __halt_compiler();----SIGNATURE:----mlFUG+djo1sZ0HL81aGQ4ycdkQRmZRPuDjJAim8UvCkHhO8BqICWjMLPUXQaxH0zPtFSTOZw8+PDXq0JEG0f/ICU4MHHXUhhrQ4jgEtof0qQ6BEdw2v/hP1LUxys4lB/U5f4fgydQQrxBIyUkpYEKimYKUmoPGeb8nOJBXVodQXgsjYRN5eIUwgkuMHXqaXPuSQ1Ys6jt4pHJckID+L7gF1KW+cw6bqbd5xVaqyib9xcEQZh4qGod72I4OubahzYFISRj+2W0SMw2GYBcTX9a5iZDIykxQ6XlB1hBPIzm9Hkf7BpHCnRCqyzRc6GnW/PyUp+BCKUOWck+o69VCLFmkHYmij6NW1oYKbsR8KUYWNAit0xMZySnF2Z587vYQpaWJreVIu8BynvB0hZspK5V6uT/Q90+k8GScEzJZd8zPXkx0iVZMaW4Pj1PfJuL+uGNSS4tnMNMdeHj8JIMtdF41SJqUdcvPdnvu6sz45m7Yr03mJc9Fd1x5brZCPWxacfqNJWZLCtjW+ySTrpojw2cxadLdmSCe/VM31diKelThI+FIZYeWrZtxhdln262VrEVxWqpum7F1eJIU9sPw28Hr5yeF99E/Jrk6Pk9p+sX0M2HW68pcQK8aJfqD9XyOuC4H4exQQYiD0yqCxFd6e/xSqmx4vOAO3Bzc8s6K2spzI=----ATTACHMENT:----NjkzNzg0NjU3OTgxNzIyMyAzNTk5MjQ3NTg4NDQ4OTkyIDM2MjQ1Mjg2MDYzNjY1NQ==