Autor | Zpráva | ||
---|---|---|---|
carlosK Profil * |
#1 · Zasláno: 27. 10. 2011, 14:35:02
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 |
#2 · Zasláno: 27. 10. 2011, 14:41:00
$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 * |
#3 · Zasláno: 27. 10. 2011, 14:44:08
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 |
#4 · Zasláno: 27. 10. 2011, 14:46:09
carlosK:
<?php class mojetrida { function jedna() { return $this; } function dva() { return $this; } } $obj = new mojetrida; $obj->jedna()->dva()->jedna(); // atd |
||
carlosK Profil * |
#5 · Zasláno: 27. 10. 2011, 15:01:22
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 |
#6 · Zasláno: 27. 10. 2011, 15:04:34
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 * |
#7 · Zasláno: 27. 10. 2011, 15:07:44
Aha, ještě jednou vám děkuji, zkusím se s tím už nějak poprat :)
|
||
Časová prodleva: 13 let
|
0