Contao\CoreBundle\DependencyInjection\Compiler\AddPackagesPass::process PHP Метод

process() публичный Метод

public process ( ContainerBuilder $container )
$container Symfony\Component\DependencyInjection\ContainerBuilder
    public function process(ContainerBuilder $container)
    {
        $packages = [];
        if (is_file($this->jsonFile)) {
            $json = json_decode(file_get_contents($this->jsonFile), true);
            if (null !== $json) {
                $packages = $this->getVersions($json);
            }
        }
        $container->setParameter('kernel.packages', $packages);
    }

Usage Example

Пример #1
0
 /**
  * Tests processing the pass without the JSON file.
  */
 public function testFileNotFound()
 {
     $pass = new AddPackagesPass($this->getRootDir() . '/vendor/composer/invalid.json');
     $container = new ContainerBuilder();
     $pass->process($container);
     $this->assertTrue($container->hasParameter('kernel.packages'));
     $packages = $container->getParameter('kernel.packages');
     $this->assertInternalType('array', $packages);
     $this->assertEmpty($container->getParameter('kernel.packages'));
 }