У меня есть пользовательский объект с атрибутами firstname, lastname и url, расширяющий пользователя FOSUserBundle. Я хочу сохранить в атрибуте URL значение имени и фамилии как одну строку.
Некоторые люди предложили мне использовать прослушиватель и сервис, поэтому я сделал:
Событие, кажется, работает после регистрации, но я не могу найти способ изменить свой URL-адрес пользователя...
сервисы.yml
services:
kernel.listener.RegistrationListener:
class: Apana\Bundle\MainBundle\EventListener\RegistrationListener
tags:
- { name: kernel.event_listener, event: fos_user.registration.completed, method: onUserRegistration }
И в RegistrationListener.php:
<?php
namespace Apana\Bundle\MainBundle\EventListener;
use Apana\Bundle\MainBundle\Entity\User;
use Symfony\Component\Security\Core\SecurityContext;
use FOS\UserBundle\FOSUserEvents;
use FOS\UserBundle\Event\UserEvent;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\HttpKernel\Event\GetResponseEvent;
use Symfony\Component\HttpKernel\HttpKernel;
class RegistrationListener
{
public function onUserRegistration()
{
$user = new User();
$ap= = $user->getFirstname();
echo($ap);exit();
}
}