This commit is contained in:
Xes
2025-08-14 22:41:49 +02:00
parent 2de81ccc46
commit 8ce45119b6
39774 changed files with 4309466 additions and 0 deletions

View File

@@ -0,0 +1,9 @@
services:
service_container:
class: Symfony\Component\DependencyInjection\ContainerInterface
public: true
synthetic: true
App\BarService:
class: App\BarService
arguments: [!service { class: FooClass }]

View File

@@ -0,0 +1,11 @@
<?php
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
use App\BarService;
return function (ContainerConfigurator $c) {
$s = $c->services();
$s->set(BarService::class)
->args([inline('FooClass')]);
};

View File

@@ -0,0 +1,12 @@
services:
service_container:
class: Symfony\Component\DependencyInjection\ContainerInterface
public: true
synthetic: true
foo:
class: Class2
file: file.php
lazy: true
arguments: [!service { class: Class1, public: false }]
bar: '@foo'

View File

@@ -0,0 +1,22 @@
<?php
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
use App\BarService;
return function (ContainerConfigurator $c) {
$c->services()
->set('bar', 'Class1')
->set(BarService::class)
->abstract(true)
->lazy()
->set('foo')
->parent(BarService::class)
->decorate('bar', 'b', 1)
->args([ref('b')])
->class('Class2')
->file('file.php')
->parent('bar')
->parent(BarService::class)
;
};

View File

@@ -0,0 +1,26 @@
services:
service_container:
class: Symfony\Component\DependencyInjection\ContainerInterface
public: true
synthetic: true
App\BarService:
class: App\BarService
arguments: [!service { class: FooClass }]
Symfony\Component\DependencyInjection\Tests\Fixtures\Prototype\Foo:
class: Symfony\Component\DependencyInjection\Tests\Fixtures\Prototype\Foo
public: true
tags:
- { name: t, a: b }
autowire: true
autoconfigure: true
arguments: ['@bar']
bar:
class: Symfony\Component\DependencyInjection\Tests\Fixtures\Prototype\Foo
public: false
tags:
- { name: t, a: b }
autowire: true
calls:
- [setFoo, ['@bar']]

View File

@@ -0,0 +1,21 @@
<?php
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
use Symfony\Component\DependencyInjection\Tests\Fixtures\Prototype\Foo;
return function (ContainerConfigurator $c) {
$c->import('basic.php');
$s = $c->services()->defaults()
->public()
->private()
->autoconfigure()
->autowire()
->tag('t', ['a' => 'b'])
->bind(Foo::class, ref('bar'))
->private();
$s->set(Foo::class)->args([ref('bar')])->public();
$s->set('bar', Foo::class)->call('setFoo')->autoconfigure(false);
};

View File

@@ -0,0 +1,9 @@
<?php
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
return function (ContainerConfigurator $c) {
$c->services()
->set('service', \stdClass::class)
->factory('factory:method');
};

View File

@@ -0,0 +1,19 @@
services:
service_container:
class: Symfony\Component\DependencyInjection\ContainerInterface
public: true
synthetic: true
Symfony\Component\DependencyInjection\Tests\Fixtures\Prototype\Foo:
class: Symfony\Component\DependencyInjection\Tests\Fixtures\Prototype\Foo
tags:
- { name: tag, k: v }
lazy: true
properties: { p: 1 }
calls:
- [setFoo, ['@foo']]
shared: false
configurator: c
foo:
class: App\FooService

View File

@@ -0,0 +1,22 @@
<?php
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
use App\FooService;
use Symfony\Component\DependencyInjection\Tests\Fixtures\Prototype;
return function (ContainerConfigurator $c) {
$s = $c->services();
$s->instanceof(Prototype\Foo::class)
->property('p', 0)
->call('setFoo', [ref('foo')])
->tag('tag', ['k' => 'v'])
->share(false)
->lazy()
->configurator('c')
->property('p', 1);
$s->load(Prototype::class.'\\', '../Prototype')->exclude('../Prototype/*/*');
$s->set('foo', FooService::class);
};

View File

@@ -0,0 +1,18 @@
parameters:
foo: Foo
bar: Bar
services:
service_container:
class: Symfony\Component\DependencyInjection\ContainerInterface
public: true
synthetic: true
Symfony\Component\DependencyInjection\Tests\Fixtures\Prototype\Foo:
class: Symfony\Component\DependencyInjection\Tests\Fixtures\Prototype\Foo
public: true
arguments: ['@bar']
bar:
class: Symfony\Component\DependencyInjection\Tests\Fixtures\Prototype\Foo
calls:
- [setFoo, { }]

View File

@@ -0,0 +1,19 @@
<?php
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
use Symfony\Component\DependencyInjection\Tests\Fixtures\Prototype\Foo;
return function (ContainerConfigurator $c) {
$c->parameters()
('foo', 'Foo')
('bar', 'Bar')
;
$c->services()
(Foo::class)
->arg('$bar', ref('bar'))
->public()
('bar', Foo::class)
->call('setFoo')
;
};

View File

@@ -0,0 +1,23 @@
services:
service_container:
class: Symfony\Component\DependencyInjection\ContainerInterface
public: true
synthetic: true
Symfony\Component\DependencyInjection\Tests\Fixtures\Prototype\Foo:
class: Symfony\Component\DependencyInjection\Tests\Fixtures\Prototype\Foo
tags:
- { name: foo }
- { name: baz }
deprecated: '%service_id%'
arguments: [1]
factory: f
Symfony\Component\DependencyInjection\Tests\Fixtures\Prototype\Sub\Bar:
class: Symfony\Component\DependencyInjection\Tests\Fixtures\Prototype\Sub\Bar
tags:
- { name: foo }
- { name: baz }
deprecated: '%service_id%'
lazy: true
arguments: [1]
factory: f

View File

@@ -0,0 +1,22 @@
<?php
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
use Symfony\Component\DependencyInjection\Tests\Fixtures\Prototype;
return function (ContainerConfigurator $c) {
$di = $c->services()->defaults()
->tag('baz');
$di->load(Prototype::class.'\\', '../Prototype')
->autoconfigure()
->exclude('../Prototype/{OtherDir,BadClasses}')
->factory('f')
->deprecate('%service_id%')
->args([0])
->args([1])
->autoconfigure(false)
->tag('foo')
->parent('foo');
$di->set('foo')->lazy()->abstract();
$di->get(Prototype\Foo::class)->lazy(false);
};

View File

@@ -0,0 +1,127 @@
<?php
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
use Bar\FooClass;
use Symfony\Component\DependencyInjection\Parameter;
require_once __DIR__.'/../includes/classes.php';
require_once __DIR__.'/../includes/foo.php';
return function (ContainerConfigurator $c) {
$p = $c->parameters();
$p->set('baz_class', 'BazClass');
$p->set('foo_class', FooClass::class)
->set('foo', 'bar');
$s = $c->services()->defaults()->public();
$s->set('foo')
->args(['foo', ref('foo.baz'), ['%foo%' => 'foo is %foo%', 'foobar' => '%foo%'], true, ref('service_container')])
->class(FooClass::class)
->tag('foo', ['foo' => 'foo'])
->tag('foo', ['bar' => 'bar', 'baz' => 'baz'])
->factory([FooClass::class, 'getInstance'])
->property('foo', 'bar')
->property('moo', ref('foo.baz'))
->property('qux', ['%foo%' => 'foo is %foo%', 'foobar' => '%foo%'])
->call('setBar', [ref('bar')])
->call('initialize')
->configurator('sc_configure');
$s->set('foo.baz', '%baz_class%')
->factory(['%baz_class%', 'getInstance'])
->configurator(['%baz_class%', 'configureStatic1']);
$s->set('bar', FooClass::class)
->args(['foo', ref('foo.baz'), new Parameter('foo_bar')])
->configurator([ref('foo.baz'), 'configure']);
$s->set('foo_bar', '%foo_class%')
->args([ref('deprecated_service')])
->share(false);
$s->set('method_call1', 'Bar\FooClass')
->file(realpath(__DIR__.'/../includes/foo.php'))
->call('setBar', [ref('foo')])
->call('setBar', [ref('foo2')->nullOnInvalid()])
->call('setBar', [ref('foo3')->ignoreOnInvalid()])
->call('setBar', [ref('foobaz')->ignoreOnInvalid()])
->call('setBar', [expr('service("foo").foo() ~ (container.hasParameter("foo") ? parameter("foo") : "default")')]);
$s->set('foo_with_inline', 'Foo')
->call('setBar', [ref('inlined')]);
$s->set('inlined', 'Bar')
->property('pub', 'pub')
->call('setBaz', [ref('baz')])
->private();
$s->set('baz', 'Baz')
->call('setFoo', [ref('foo_with_inline')]);
$s->set('request', 'Request')
->synthetic();
$s->set('configurator_service', 'ConfClass')
->private()
->call('setFoo', [ref('baz')]);
$s->set('configured_service', 'stdClass')
->configurator([ref('configurator_service'), 'configureStdClass']);
$s->set('configurator_service_simple', 'ConfClass')
->args(['bar'])
->private();
$s->set('configured_service_simple', 'stdClass')
->configurator([ref('configurator_service_simple'), 'configureStdClass']);
$s->set('decorated', 'stdClass');
$s->set('decorator_service', 'stdClass')
->decorate('decorated');
$s->set('decorator_service_with_name', 'stdClass')
->decorate('decorated', 'decorated.pif-pouf');
$s->set('deprecated_service', 'stdClass')
->deprecate();
$s->set('new_factory', 'FactoryClass')
->property('foo', 'bar')
->private();
$s->set('factory_service', 'Bar')
->factory([ref('foo.baz'), 'getInstance']);
$s->set('new_factory_service', 'FooBarBaz')
->property('foo', 'bar')
->factory([ref('new_factory'), 'getInstance']);
$s->set('service_from_static_method', 'Bar\FooClass')
->factory(['Bar\FooClass', 'getInstance']);
$s->set('factory_simple', 'SimpleFactoryClass')
->deprecate()
->args(['foo'])
->private();
$s->set('factory_service_simple', 'Bar')
->factory([ref('factory_simple'), 'getInstance']);
$s->set('lazy_context', 'LazyContext')
->args([iterator(['k1' => ref('foo.baz'), 'k2' => ref('service_container')]), iterator([])]);
$s->set('lazy_context_ignore_invalid_ref', 'LazyContext')
->args([iterator([ref('foo.baz'), ref('invalid')->ignoreOnInvalid()]), iterator([])]);
$s->set('tagged_iterator_foo', 'Bar')
->private()
->tag('foo');
$s->set('tagged_iterator', 'Bar')
->args([tagged('foo')]);
$s->alias('alias_for_foo', 'foo')->private()->public();
$s->alias('alias_for_alias', ref('alias_for_foo'));
};

View File

@@ -0,0 +1,9 @@
<?php
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
return function (ContainerConfigurator $c) {
$c->services()
->set('parent_service', \stdClass::class)
->set('child_service')->parent('parent_service')->autoconfigure(true);
};