em = $em; $this->itemsOnPage = $itemsOnPage; $this->feedLimit = $feedLimit; $this->language = $language; $this->readingSpeed = $readingSpeed; $this->actionMarkAsRead = $actionMarkAsRead; $this->listMode = $listMode; $this->session = $session; } public static function getSubscribedEvents() { return [ // when a user register using the normal form FOSUserEvents::REGISTRATION_COMPLETED => 'createConfig', // when we manually create a user using the command line // OR when we create it from the config UI FOSUserEvents::USER_CREATED => 'createConfig', ]; } public function createConfig(UserEvent $event) { $config = new Config($event->getUser()); $config->setItemsPerPage($this->itemsOnPage); $config->setFeedLimit($this->feedLimit); $config->setLanguage($this->session->get('_locale', $this->language)); $config->setReadingSpeed($this->readingSpeed); $config->setActionMarkAsRead($this->actionMarkAsRead); $config->setListMode($this->listMode); $this->em->persist($config); $this->em->flush(); } }