и как взаимодействовать с ним, на примерах компонентов Symfony • Разница между Subscriber и Listener • Расширяем свой код через Subscriber • Listener в виде tagged service
function __construct(FormFactoryInterface $factory) { $this->factory = $factory; } public static function getSubscribedEvents() { return array(FormEvents::PRE_SET_DATA => 'preSetData'); } когда будем запускать и кого
function __construct(FormFactoryInterface $factory) { $this->factory = $factory; } public static function getSubscribedEvents() { return array(FormEvents::PRE_SET_DATA => 'preSetData'); } public function preSetData(FormEvent $event) { if (null === $event->getData()) return; if (!$event->getData()->getId()) $this->getForm() ->add($this->factory->createNamed('login', 'text')); } } У нового объекта нет id
build(ContainerBuilder $container) { parent::build($container); $container->addCompilerPass(new CustomCompilerPass()); } } Больше кода не будет наш герой