Autor | Zpráva | ||
---|---|---|---|
Pan X Profil |
#1 · Zasláno: 27. 8. 2011, 19:14:05
Zdravím,
titulek asi není moc výstižný, ale nenapadlo mě nic lepšího tak se předem omlouvám. Spousta tříd umožnuje zjednodušený přístup k metodám. Namísto klasikého $myClass = new myClass; $myClass->text('Hello world'); $myClass->tag('<strong>', '</strong>'); echo $myClass->write(); // vypíše '<strong>Hello world</strong>' Umožní zápis $myClass = new myClass; $myClass->text('Hello world') ->tag('<strong>', '</strong>') ->write(); // ideálně i bez této poslední metody. echo $myClass; // vypíše '<strong>Hello world</strong>' Mohl by někdo alespoň nastínit, jak se podobné zápisy řeší? Předem díky |
||
Majkl578 Profil |
#2 · Zasláno: 27. 8. 2011, 19:17:42 · Upravil/a: Majkl578
Ty metody vrací instanci sebe sama:
return $this; |
||
Pan X Profil |
#3 · Zasláno: 27. 8. 2011, 19:25:35 · Upravil/a: Pan X
Majkl578:
Díky, to me nenapadlo. Jakým způsobem by se pak dalo praktikovat to aby $myClass přímo vrace hodnotu jakou nastaví metody? echo $myClass; Zkoušel jsem to přes __construct() ale nedopracoval jsem se k ničemu co by stálo za řeč. Jestli je to vůbec možné nějakým jednoduchým způsobem aplikovat |
||
Mike8748 Profil |
#4 · Zasláno: 27. 8. 2011, 19:34:50
Pan X:
třída musí implementovat magickou metodu __toString() která ti vrátí ten obsah |
||
Pan X Profil |
#5 · Zasláno: 27. 8. 2011, 19:43:33
Díky
|
||
Časová prodleva: 13 let
|
0