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