1) You should extend Base User class and add there your new fields, like this:
namespace Your\CustomBundle\Entity;
use FOS\UserBundle\Model\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;
/**
* User
*
* @ORM\Table(name="fos_user")
*/
class User extends BaseUser
{
/**
* @var string
*
* @ORM\Column(name="first_name", type="string", length=255)
*/
private $firstName;
/**
* @var string
*
* @ORM\Column(name="last_name", type="string", length=255)
*/
private $lastName;
}
And update appconfig/config.yml
:
#FOSLUserBundle Configuration
fos_user:
user_class: Your\CustomBundle\Entity
Then you need extend and configure new registration form. Here is a link how you can do that.
[Edit]:
2)
Create event listener like this:
namespace Your\Bundle\EventListener;
use FOS\UserBundle\Event\FilterUserResponseEvent;
class UserListener
{
public function onRegistrationCompleted(FilterUserResponseEvent $event){
$user = $event->getUser();
//do sth....
}
}
And register service for that:
services:
some_name.security.registration_listener:
class: Your\Bundle\EventListener\UserListener
tags:
- { name: kernel.event_listener, event: fos_user.registration.completed, method: onRegistrationCompleted }