2017 © Pedro Peláez
 

library symfony-integration-checker

Assert that your bundle integration with symfony is still working.

image

pedrotroller/symfony-integration-checker

Assert that your bundle integration with symfony is still working.

  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 6 Versions
  • 0 % Grown

The README.md

SYMFONY Integration Checker

Installation

$ composer require pedrotroller/symfony-integration-checker --dev

Usage

You just have to create a .symfony_checker. This script should return a callback. This callback will have an instance of PedroTroller\Symfony\IntegrationChecker\ConfigurableKernel as parameter., (*1)

use PedroTroller\Symfony\IntegrationChecker\ConfigurableKernel;

return function (ConfigurableKernel $kernel) {
    // Your configuration
};

Launch the checker

$ ./bin/symfony-integration-checker check

Available kernel customization

$kernel->addBundle(BundleInterface $bundle): you can dynamically inject bundles into your kernel., (*2)

$kernel->setConfig(array $config): inject a configuration., (*3)

$kernel->setContainerBuilder(ContainerBuilder $container): inject your own container., (*4)

$kernel->afterBoot(callable $callable): inject a callable. This callable will be executed after the kernel boot., (*5)

Example

<?php

use PedroTroller\Symfony\IntegrationChecker\ConfigurableKernel;
use Symfony\Bundle\FrameworkBundle\FrameworkBundle;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\HttpKernel\KernelInterface;
use Symfony\Component\Translation\TranslatorInterface;

$config = array(
    'framework' => array(
        'translator' => array(
            'enabled' => true,
        ),
    ),
);

$test = function (KernelInterface $kernel) {
    if (false === $kernel->getContainer()->get('translator') instanceof TranslatorInterface) {
        throw new \Exception('Oups, there is a problem !');
    }
};

return function (ConfigurableKernel $kernel) use ($config, $test) {
    $container = new ContainerBuilder();
    $container->setParameter('kernel.secret', md5(time()));

    $kernel
        ->setContainerBuilder($container)
        ->setConfig($config)
        ->addBundle(new FrameworkBundle())
        ->afterBoot($test)
    ;
};

The Versions