Skip to content

Instantly share code, notes, and snippets.

@lyrixx
Last active November 10, 2023 14:27
Show Gist options
  • Star 10 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lyrixx/2ea147609dc632d26e366aef60f61a9f to your computer and use it in GitHub Desktop.
Save lyrixx/2ea147609dc632d26e366aef60f61a9f to your computer and use it in GitHub Desktop.
Symfony Playgound with its Container and a custom configuration
<?php
use App\Kernel;
require __DIR__.'/vendor/autoload_runtime.php';
use Symfony\Component\Console\Output\StreamOutput;
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
use Symfony\Component\DependencyInjection\ContainerBuilder;
return function () {
$k = new class('dev', true) extends Kernel implements CompilerPassInterface {
public function process(ContainerBuilder $container)
{
$container->getAlias('logger')->setPublic(true);
$container->getDefinition('monolog.handler.console')->setPublic(true);
}
};
$k->boot();
$c = $k->getContainer();
$c->get('monolog.handler.console')->setOutput(
new StreamOutput(fopen('php://stdout', 'w'),
StreamOutput::VERBOSITY_VERY_VERBOSE,
));
$logger = $c->get('logger');
$em = $c->get('doctrine.orm.entity_manager');
// Start of playground
};
@Spomky
Copy link

Spomky commented Nov 10, 2023

Very good! Thanks you.
It is worth mentioning that this command can be executed using symfony php test.php

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment