Es ist Teil des Codes in FOSElasticaExtension Extension classWarum Factory in DefinitionDecorator setzen, statt neue Klasse mit Aufrufanweisung zu setzen?
$Def = new DefinitionDecorator('foo');
$Def->replaceArgument(0, $bar);
$Def->addTag('baz', array('name' => $qux,));
$Def->setFactory(array(new Reference('quux'), 'corge'));
so in yaml es könnte wie folgt aussehen:
services:
foo:
arguments:
- '$bar'
tags:
- { name: baz }
factory: ["@quux", corge]
Warum set Fabrik in DefinitionDecorator statt setzen neue Klasse mit calls:
Richtlinie?
services:
foo:
arguments:
- '$bar'
tags:
- { name: baz }
class: @quux
calls: corge
ich bearbeitet Hauptpost. Mein Hauptanliegen ist über den Punkt der Verwendung von Fabrik Innen Dekorator anstelle von einfachen Methodenaufrufen –
siehe meine Bearbeitung. Ich glaube nicht, dass es einen großen Unterschied gibt, also kommt es darauf an, was Sie für schicker halten und foselastischabundle scheint mit der Fabrik gegangen zu sein. – dbrumann