Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze – Lekce 4 - Zapouzdření v PHP

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
Dord
Člen
Avatar
Dord:23.9.2022 12:30

Ahoj,

jak je prosím možné, že v příkladu

public function __construct(public string $jmeno, public string $prijmeni, public int $vek) {}

není

$this->jmeno = $jmeno;

a přesto metoda

public function pozdrav() : void
{
    echo('Ahoj, já jsem ' . $this->jmeno);
}

vypíše pozdrav i s jménem?

Je to nějak defaultně? V konstruktoru? Nebo tím, že se proměnná definuje v (public string $jmeno, public string $prijmeni, public int $vek)? Obecně?

Děkuju :)

 
Odpovědět
23.9.2022 12:30
Avatar
Dord
Člen
Avatar
Odpovídá na Dord
Dord:23.9.2022 12:46

Nedalo mi to ... a ještě chvíli hledal...
Je to PHP8 a tím že tím, že se proměnná definuje v (public string $jmeno, public string $prijmeni, public int $vek)

When a constructor argument includes a visibility modifier, PHP will interpret it as both an object property and a constructor argument, and assign the argument value to the property. The constructor body may then be empty or may contain other statements. Any additional statements will be executed after the argument values have been assigned to the corresponding properties.

Not all arguments need to be promoted. It is possible to mix and match promoted and not-promoted arguments, in any order. Promoted arguments have no impact on code calling the constructor.

 
Odpovědět
23.9.2022 12:46
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 52.