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

Formularz Symfony 4 ?

VPS Starter Arubacloud
0 głosów
497 wizyt
pytanie zadane 25 listopada 2018 w PHP 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 (287,550 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 (287,550 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 (287,550 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 (87,590 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 (287,550 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

–1 głos
1 odpowiedź 169 wizyt
pytanie zadane 10 stycznia 2020 w PHP przez niezalogowany
0 głosów
1 odpowiedź 250 wizyt
pytanie zadane 21 maja 2019 w PHP przez hiper007 Stary wyjadacz (11,270 p.)
0 głosów
1 odpowiedź 266 wizyt
pytanie zadane 19 stycznia 2019 w PHP przez niezalogowany

92,452 zapytań

141,262 odpowiedzi

319,077 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

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

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...