35 lines
689 B
PHP
Executable File
35 lines
689 B
PHP
Executable File
<?php
|
|
|
|
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
|
use Symfony\Component\DependencyInjection\Definition;
|
|
|
|
$container = new ContainerBuilder();
|
|
|
|
$factoryDefinition = new Definition('BarClassFactory');
|
|
$container->setDefinition('barFactory', $factoryDefinition);
|
|
|
|
$definition = new Definition();
|
|
$definition->setFactoryService('barFactory');
|
|
$definition->setFactoryMethod('createBarClass');
|
|
$container->setDefinition('bar', $definition);
|
|
|
|
return $container;
|
|
|
|
class BarClass
|
|
{
|
|
public $foo;
|
|
|
|
public function setBar($foo)
|
|
{
|
|
$this->foo = $foo;
|
|
}
|
|
}
|
|
|
|
class BarClassFactory
|
|
{
|
|
public function createBarClass()
|
|
{
|
|
return new BarClass();
|
|
}
|
|
}
|