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
-
Jak zabezpečit váš chytrý telefon před kybernetickými hrozbami
30. listopadu 2023 -
Vlastní web pomocí AI už může vytvořit opravdu každý
8. srpna 2024 -
Jak si vyzkoušet Apple Intelligence v EU
2. srpna 2024
Nejnovější
-
AI a internetové podvody
29. října 2024 -
Užitečné nástroje pro bezpečnost na internetu
17. října 2024 -
Jak se chránit před podvody na internetu – část 2
14. října 2024 -
Doména .io v ohrožení: Co přinese předání Čagoských ostrovů?
10. října 2024
David Pšondr
Lis 2, 2013 v 12:30Od PHP 5.4 je možné použít i tuto konstrukci: (new Trida())->metoda();