• 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
113 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 (247,570 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 (247,570 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 (247,570 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,060 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 (247,570 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ź 31 wizyt
pytanie zadane 21 maja w PHP, Symfony, Zend przez hiper007 Stary wyjadacz (10,860 p.)
0 głosów
1 odpowiedź 65 wizyt
pytanie zadane 19 stycznia w PHP, Symfony, Zend przez Raptor Mądrala (5,750 p.)
0 głosów
0 odpowiedzi 65 wizyt
pytanie zadane 12 stycznia w PHP, Symfony, Zend przez Vision Początkujący (270 p.)
Porady nie od parady
Odznacz odpowiedź zieloną fajką, jeśli uważasz, że jest ona najlepsza ze wszystkich i umożliwiła ci rozwiązanie problemu.Najlepsza odpowiedź

64,071 zapytań

110,467 odpowiedzi

231,382 komentarzy

47,836 pasjonatów

Przeglądających: 212
Pasjonatów: 9 Gości: 203

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.

...