• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Formularz Symfony 4 ?

0 głosów
140 wizyt
pytanie zadane 25 listopada 2018 w PHP, Symfony, Zend przez Vision Początkujący (270 p.)
Witam.Mam problem z wyświetleniem formularza w Symfony 4 .Mam komunikat o błędzie :

Neither the property "Haslo" nor one of the methods "getHaslo()", "haslo()", "isHaslo()", "hasHaslo()", "__get()" exist and have public access in class "App\Entity\UsersAccount".

Proszę o pomoc.Z góry dzięki.

1 odpowiedź

+1 głos
odpowiedź 25 listopada 2018 przez Arkadiusz Waluk Ekspert (250,210 p.)
wybrane 25 listopada 2018 przez HaKIM
 
Najlepsza
Błąd wyraźnie mówi, że w klasie App\Entity\UsersAccount nie ma właściwości "Haslo" lub jednej z metod "getHaslo()", "haslo()", "isHaslo()", "hasHaslo()", magicznej "__get()" oraz/lub nie ma do tego publicznego dostępu (public).
komentarz 25 listopada 2018 przez Vision Początkujący (270 p.)
edycja 25 listopada 2018 przez HaKIM

ok w takim razie co muszę zrobić ?

w App/Entity/UsersAccount muszę zmienić  z private na public ?

class UsersAccount
{
    /**
     * @ORM\Id()
     * @ORM\GeneratedValue()
     * @ORM\Column(type="integer")
     */
    private $id;

    /**
     * @ORM\Column(type="string", length=255)
     */
    private $login;

    /**
     * @ORM\Column(type="string", length=255)
     */
    private $email;

    /**
     * @ORM\Column(type="string", length=255)
     */
    private $password;

// Kod wstawiamy w bloczek! Copy paste z IDE potrafi skopać widoczność takiego kodu dla jednego lub wszystkich dostepnych skórek forum.

komentarz 25 listopada 2018 przez Arkadiusz Waluk Ekspert (250,210 p.)
Nie masz wcale właściwości "Haslo", masz "password", od tego zacznijmy. Możesz dać publiczną albo zostawić prywatne i zrobić do tego metodę np. getPassword()/getHaslo() (polecam ujednolicenie nazewnictwa na angielskie). Osobiście jestem przyzwyczajony do tej drugiej opcji. Do tego gdy będziesz robił zapis to przyda się też setter, więc pewnie metoda typu setPassword() będzie musiała się pojawić.
komentarz 25 listopada 2018 przez Vision Początkujący (270 p.)
edycja 25 listopada 2018 przez HaKIM

tak wygląda całość dobrze to jest ?

<?php

namespace App\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity(repositoryClass="App\Repository\UsersAccountRepository")
 */
class UsersAccount
{
    /**
     * @ORM\Id()
     * @ORM\GeneratedValue()
     * @ORM\Column(type="integer")
     */
    private $id;

    /**
     * @ORM\Column(type="string", length=255)
     */
    private $login;

    /**
     * @ORM\Column(type="string", length=255)
     */
    private $email;

    /**
     * @ORM\Column(type="string", length=255)
     */
    private $password;

    public function getId(): ?int
    {
        return $this->id;
    }

    public function getLogin(): ?string
    {
        return $this->login;
    }

    public function setLogin(string $login): self
    {
        $this->login = $login;

        return $this;
    }

    public function getEmail(): ?string
    {
        return $this->email;
    }

    public function setEmail(string $email): self
    {
        $this->email = $email;

        return $this;
    }

    public function getPassword(): ?string
    {
        return $this->password;
    }

    public function setPassword(string $password): self
    {
        $this->password = $password;

        return $this;
    }
}

// Kod wstawiamy w bloczek! Copy paste z IDE potrafi skopać widoczność takiego kodu dla jednego lub wszystkich dostepnych skórek forum.

komentarz 25 listopada 2018 przez Arkadiusz Waluk Ekspert (250,210 p.)
Ogólnie tak, choć nie jestem pewien jak to teraz dokładnie wygląda, bo nie pisałem nic ostatnio w Symfony, a zakładam że pewnie pracujesz na najnowszej wersji, która się zmienia. Kiedyś trzeba było dodać interfejs do encji użytkownika i on nakładał jeszcze konieczne metody. Obecnie w dokumentacji tego nie widzę, więc albo się zmieniło albo źle szukam.
komentarz 25 listopada 2018 przez Vision Początkujący (270 p.)
tak pracuje w wersji Symfony 4.1.7 ,
komentarz 25 listopada 2018 przez Vision Początkujący (270 p.)
robię właśnie z  dokumentacji Symfony  ale mam dalej ten błąd
komentarz 25 listopada 2018 przez HaKIM Szeryf (83,860 p.)

Polecam:

https://symfonycasts.com/screencast/symfony-security/make-user

Pewnie pominąłeś coś z dokumentacji (jak implementacja wymienonego na górze interfejsu: Symfony\Component\Security\Core\User\UserInterface).

komentarz 25 listopada 2018 przez Arkadiusz Waluk Ekspert (250,210 p.)

@Vision, ten sam błąd z identyczną treścią? To znaczy że w formularzu masz nadal pole "haslo", mówiłem o ujednoliceniu nazw, więc myślałem że to zrobiłeś i zmieniłeś je na "password", tak jak jest w encji.

1
komentarz 25 listopada 2018 przez Vision Początkujący (270 p.)
dobra już działa , teraz już wiem gdzie był błąd, z początku nie mogłem załapać o co chodzi ,dzięki za pomoc

Podobne pytania

0 głosów
1 odpowiedź 54 wizyt
pytanie zadane 21 maja w PHP, Symfony, Zend przez hiper007 Stary wyjadacz (10,880 p.)
0 głosów
1 odpowiedź 76 wizyt
pytanie zadane 19 stycznia w PHP, Symfony, Zend przez Raptor Mądrala (6,100 p.)
0 głosów
0 odpowiedzi 91 wizyt
pytanie zadane 12 stycznia w PHP, Symfony, Zend przez Vision Początkujący (270 p.)
Porady nie od parady
Komentarze do pytań nie służą do odpowiadania, od tego jest wydzielona sekcja odpowiedzi. Funkcją komentarzy jest natomiast możliwość uzyskania dodatkowych informacji na temat samego posta.Komentarze

66,407 zapytań

113,168 odpowiedzi

239,568 komentarzy

46,673 pasjonatów

Przeglądających: 292
Pasjonatów: 4 Gości: 288

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...