Mój pierwszy formularz w Symfony 3

Co kodzimy?

Wiadome – rejestrację! Skoro piszę mini społecznościówkę dla tak wspaniałych ludzi to muszą się jakoś zarejestrować. Bez formularza ani rusz.

Co potrzebujemy?

Przede wszystkim zachęcam do zapoznania się z dokumentacją. Jest po prostu świetna. Na potrzeby stworzenia nowego commitu potrzebowałam zapoznać się z poniższymi materiałami:

Tym razem nie będę komentować linijki za linijką, ponieważ uznałam, że przekierowanie do materiałów, z których korzystałam, naświetla sprawę wystarczająco.

Aby logowanie i rejestracja współgrały

Samo kopiuj + wklej  nie sprawdzi się. Należy pamiętać, że podczas tworzenia pierwszego użytkownika w bazie, wykorzystywałam tabelę app_users . I taką też tabelę i repository należy zadeklarować.

// EcoDevBundle\Entity\User
/**
 * @ORM\Table(name="app_users")
 * @ORM\Entity(repositoryClass="EcoDevBundle\Repository\UserRepository")
 * @UniqueEntity(fields="email", message="Email already taken")
 * @UniqueEntity(fields="username", message="Username already taken")
 */

Panel klienta

Po zalogowaniu oczywiście należało przekierować użytkownika do panelu klienta. Na razie to zwykła podstrona ale dostępna tylko po zalogowaniu. Aby stworzyć taką podstronę należy utworzyć

  1. AccountController a w nim metodę indexAction
    /**
     * @Route("/account", name="account")
     */
    public function indexAction(Request $request)
    {
        return $this->render('ecodev/account/index.html.twig', [
            'base_dir' => realpath($this->getParameter('kernel.root_dir').'/..').DIRECTORY_SEPARATOR,
        ]);
    }
  2. Template
  3. Odpowiedni wpis w security.yml
    access_control:
        - { path: ^/account, roles: IS_AUTHENTICATED_FULLY }