parameters:
baz_class: BazClass
foo_class: Bar\FooClass
foo: bar
services:
foo:
class: Bar\FooClass
tags:
- { name: foo, foo: foo }
- { name: foo, bar: bar, baz: baz }
arguments: [foo, '@foo.baz', { '%foo%': 'foo is %foo%', foobar: '%foo%' }, true, '@service_container']
properties: { foo: bar, moo: '@foo.baz', qux: { '%foo%': 'foo is %foo%', foobar: '%foo%' } }
calls:
- [setBar, ['@bar']]
- [initialize, { }]
factory: [Bar\FooClass, getInstance]
configurator: sc_configure
foo.baz:
class: '%baz_class%'
factory: ['%baz_class%', getInstance]
configurator: ['%baz_class%', configureStatic1]
bar:
class: Bar\FooClass
arguments: [foo, '@foo.baz', '%foo_bar%']
configurator: ['@foo.baz', configure]
foo_bar:
class: '%foo_class%'
shared: false
method_call1:
class: Bar\FooClass
file: '%path%foo.php'
calls:
- [setBar, ['@foo']]
- [setBar, ['@?foo2']]
- [setBar, ['@?foo3']]
- [setBar, ['@?foobaz']]
- [setBar, ['@=service("foo").foo() ~ (container.hasParameter("foo") ? parameter("foo") : "default")']]
foo_with_inline:
class: Foo
calls:
- [setBar, ['@inlined']]
inlined:
class: Bar
public: false
properties: { pub: pub }
calls:
- [setBaz, ['@baz']]
baz:
class: Baz
calls:
- [setFoo, ['@foo_with_inline']]
request:
class: Request
synthetic: true
configurator_service:
class: ConfClass
public: false
calls:
- [setFoo, ['@baz']]
configured_service:
class: stdClass
configurator: ['@configurator_service', configureStdClass]
configurator_service_simple:
class: ConfClass
public: false
arguments: ['bar']
configured_service_simple:
class: stdClass
configurator: ['@configurator_service_simple', configureStdClass]
decorated:
class: stdClass
decorator_service:
class: stdClass
decorates: decorated
decorator_service_with_name:
class: stdClass
decorates: decorated
decoration_inner_name: decorated.pif-pouf
deprecated_service:
class: stdClass
deprecated: The "%service_id%" service is deprecated. You should stop using it, as it will soon be removed.
new_factory:
class: FactoryClass
public: false
properties: { foo: bar }
factory_service:
class: Bar
factory: ['@foo.baz', getInstance]
new_factory_service:
class: FooBarBaz
properties: { foo: bar }
factory: ['@new_factory', getInstance]
service_from_static_method:
class: Bar\FooClass
factory: [Bar\FooClass, getInstance]
factory_simple:
class: SimpleFactoryClass
public: false
arguments: ['foo']
factory_service_simple:
class: Bar
factory: ['@factory_simple', getInstance]
alias_for_foo: '@foo'
alias_for_alias: '@foo'
|