OOP v PHP: Dereference objektů
Dereference je možnost odkazování na metodu či vlastnost, která obsahuje další objekty, z nich chceme použít nějakou vlastnost či metodu jiného objektu.
K odkazování se používá notace ->. Podívejte se na tento příklad:
<?php class TridaBudeVolana{ public function VypisHeslo(){ echo 'Vypiš heslo'; } } class TridaVola{ public function VolejTridu(){ return new TridaBudeVolana; } } $ins = new TridaVola; $ins->VolejTridu()->VypisHeslo(); ?>
Nejprve tedy vytváříme instanci, voláme třídu VolejTridu(), ta vytváří instanci třídy TridaBudeVolana, ze které následně chceme volat metodu VypisHeslo().
Takové zanořování je neomezené, tedy je možné volat i následující skript:
<?php class TridaBudeVolana{ public function VypisHeslo(){ echo 'Vypiš heslo'; } } class TridaVola{ public function VolejTridu(){ return new TridaZanorena; } } class TridaZanorena{ public function VolejTriduDalsi(){ return new TridaZanorenaJesteVice; } } class TridaZanorenaJesteVice{ public function VolejTriduJesteDalsi(){ return new TridaBudeVolana; } } $ins = new TridaVola; $ins->VolejTridu()->VolejTriduDalsi()-> VolejTriduJesteDalsi()->VypisHeslo(); ?>
Pozn. red.: Zdůrazňujeme, že tento text se týká PHP 5.
Mohlo by vás také zajímat
-
-
-
AI na dosah ruky: Jak je to s AI v osobních zařízeních?
22. ledna 2024 -
Jak si vyzkoušet Apple Intelligence v EU
2. srpna 2024
Nejnovější
-
Umělá inteligence: Co je to GPT?
12. května 2025 -
VMC rapidně zvýšil open rate e-mailových kampaní ZONERu
9. května 2025 -
Nenechte se zaskočit TLS certifikáty na 47 dní
2. května 2025 -
Zrychlete svůj web s LiteSpeed a CZECHIA.COM
29. dubna 2025
David Pšondr
Lis 2, 2013 v 12:30Od PHP 5.4 je možné použít i tuto konstrukci: (new Trida())->metoda();