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
-
-
Výkonný a kompaktní: ASOME Max Studio s výjimečným poměrem cena/výkon
11. listopadu 2024 -
Jak chránit webové stránky před Web/AI Scrapingem
27. listopadu 2024 -
Proč je důležité tvořit obsah na váš web?
29. srpna 2024
Nejnovější
-
Co je to TTL a proč na něm záleží?
25. března 2025 -
Kdo má nejrychlejší WordPress hosting v ČR?
18. března 2025 -
-
David Pšondr
Lis 2, 2013 v 12:30Od PHP 5.4 je možné použít i tuto konstrukci: (new Trida())->metoda();