Autor Zpráva
carlosK
Profil *
Dobrý den, nedokázal by mi zde někdo vysvětlit jak funguje řetězení metod? Na internetu jsem našel jen jediný článek a z něj nejsem zrovna moc chytrý.
Ugo
Profil
$this->set()->set()->set()->where()->query() ?
každá metoda vrací objekt ($this) a na tom se pak dá zavolat další metoda, jinými slovy si v hlavě každou metodu nahraď tim co vrací a dostaneš sérii příkazů $this->set(); $this->set() ...
carlosK
Profil *
Ano, děkuji, toto přesně myslím. Neměl by jste prosím někde kus kódu, protože v OOP jsem začátečník a váš popis je pro mě moc složitý.
ShiraNai7
Profil
carlosK:
<?php
class mojetrida
{


    function jedna()
    {
        return $this;
    }

    function dva()
    {
        return $this;
    }


}

$obj = new mojetrida;
$obj->jedna()->dva()->jedna(); // atd
carlosK
Profil *
Děkuji. Musím vždy vytvářet novou třídu, nebo mohu zavolat například ze statické třídy mojetrida::jedna()->dva();? A jaký je název proměnné která předává metoda jedna() metodě dva(), abych ji mohl například dále zpracovávat metodou dva()?
ShiraNai7
Profil
carlosK:
Musím vždy vytvářet novou třídu, nebo mohu zavolat například ze statické třídy mojetrida::jedna()->dva();

Asi myslis novy objekt. Prvni metoda muze byt staticka, ale stejne musi vratit objekt. Ve staticke metode neni $this definovano.

A jaký je název proměnné která předává metoda jedna()

Metoda nic nepredava. Vraci objekt. Argumenty se zadavaji pri volani dane metody dva().
carlosK
Profil *
Aha, ještě jednou vám děkuji, zkusím se s tím už nějak poprat :)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0