| 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: 15 let
|
|||
0