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
-
Webový správce souborů Filestash – dojmy a recenze
29. července 2024 -
Nepodceňte UX na vašem webu: Proč na něm záleží?
10. dubna 2024
Nejnovější
-
Jak rozšířit úložiště Macu za pětinovou cenu?
16. prosince 2024 -
Nové trendy v doménách pro osobní projekty – DIY, LIVING a LIFESTYLE
9. prosince 2024 -
Jak chránit webové stránky před Web/AI Scrapingem
27. listopadu 2024 -
Jaký monitor je nejlepší k novému Macu Mini?
25. listopadu 2024
David Pšondr
Lis 2, 2013 v 12:30Od PHP 5.4 je možné použít i tuto konstrukci: (new Trida())->metoda();