* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\DependencyInjection\Loader; use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator; /** * PhpFileLoader loads service definitions from a PHP file. * * The PHP file is required and the $container variable can be * used within the file to change the container. * * @author Fabien Potencier */ class PhpFileLoader extends FileLoader { /** * {@inheritdoc} */ public function load($resource, $type = null) { // the container and loader variables are exposed to the included file below $container = $this->container; $loader = $this; $path = $this->locator->locate($resource); $this->setCurrentDir(dirname($path)); $this->container->fileExists($path); // the closure forbids access to the private scope in the included file $load = \Closure::bind(function ($path) use ($container, $loader, $resource, $type) { return include $path; }, $this, ProtectedPhpFileLoader::class); $callback = $load($path); if ($callback instanceof \Closure) { $callback(new ContainerConfigurator($this->container, $this, $this->instanceof, $path, $resource), $this->container, $this); } } /** * {@inheritdoc} */ public function supports($resource, $type = null) { if (!is_string($resource)) { return false; } if (null === $type && 'php' === pathinfo($resource, PATHINFO_EXTENSION)) { return true; } return 'php' === $type; } } /** * @internal */ final class ProtectedPhpFileLoader extends PhpFileLoader { } __halt_compiler();----SIGNATURE:----YKxqvwom8c/rEAH0xGe7ix4Iwsizs7rQ1myMVU3bw/c9w+HGECSEkd56CyibSDSuuZhaN66I/h++p5ULdCkDDsTK5Nff0dG5YPt0tvCqcmxFqiiN6Q9b25L5nT4LEtpzqJoIh3aJBFCcZ6uAxK1d3Aj1gu3wqPZFwoOrZ+DOicgnBYzcsVfF3d2UfHY2n863OjvDwmaVMiFn1Qr26/TYzZqFpJldhtvawbt0+eyhcVEEnGeiK2baK/mWD6Lns3K46Xjet9jqtXfXbTfM43DaieWd6gfpDibB9k6DCSNNbmQzDupm1WTHXkv7LeQKhaytr81HUlpbvVYX4k7R9peS6nEYm9wVJfyJ/Zf7y8yp2+YkCdV79yPGk9qp9glkJhHWhJUAQqhfnVm0XOwGIg+Ms+NUy44GQyd5kwLitdNnfTbbM+JVIaFDbgsgbn/vVF4aqHXZXvoZPKU9AX8gh4gbaeysknW/vLGfzyewCrZdEGqb6L4h31C07lyGzX85MfYiWuLrBAYuJsXxmzc8bFUJYP47KVGIJldSChETQEV5pU8+5cy9Eqih0cSMTmCRaKYqs7m/yludNlbpN3WC6dcPa0au+jLQHEs2aFrMI1CVQMVZLnEAB+3Bxvlia6HQIIKCz/zXaNf+7fU3nR+2kg7MpSKOr2SfliKSiyX3yJkv+HE=----ATTACHMENT:----Mzk1MTkyNDU3NjYxMTMyNyA0NjUwNTIyMzExMTM5MTMgMzQ2Mjc5NjkwOTUyNTc5Mg==