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

Pojawianie się błedu Using $this when not in object context in

0 głosów
32 wizyt
pytanie zadane 4 dni temu w PHP przez mat19 Obywatel (1,060 p.)

Cześć! Mam taki problem. Otóż pojawia mi się błąd tego typu Fatal error: Uncaught Error: Using $this when not in object context in. Nie wiem dlaczego tak się dzieje. Nie mogę znaleśc tego błedu. Byłbym wdzieczny gdy ktos pomógł albo nakierował gdzie lezy bład.

class AvatarValidation
{


    public function __construct(
        private string $avatar,
    ){}

    public function ValidateAvatar():string
    {
        if($this->avatar === '')
        {
            throw new ValidationException("Wybierz zdjęcie");
        }
        if (!in_array($this->getExtension(), ['jpg', 'png', 'jpeg'])) {
            throw new ValidationException("Nieprawidłowe rozszerzenie pliku");
        }
        return $this->avatar;
    }

    private function getExtension()
    {

        return pathinfo($this->avatar, PATHINFO_EXTENSION);
    }
}

class ValidationException extends Exception{}





$avatarValidation = new AvatarValidation($this->data['photo']);

 

1 odpowiedź

+3 głosów
odpowiedź 4 dni temu przez dev\null Nowicjusz (230 p.)
No parser Ci już na wstępie podpowiada gdzie jest problem. Nie możesz użyć `$this` w kontekście nieobiektowym.
A Ty, podczas gdy tworzysz obiekt z klasy `AvatarValidation` wrzucasz tam argument `$this->data['photo']`

Podobne pytania

0 głosów
1 odpowiedź 251 wizyt
pytanie zadane 31 lipca 2019 w PHP przez r.mar Początkujący (470 p.)
–1 głos
1 odpowiedź 244 wizyt
pytanie zadane 23 sierpnia 2020 w C i C++ przez Mati49 Obywatel (1,850 p.)
0 głosów
1 odpowiedź 133 wizyt

86,401 zapytań

135,161 odpowiedzi

300,250 komentarzy

57,163 pasjonatów

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.

...