Autor Zpráva
Pan X
Profil
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
Ty metody vrací instanci sebe sama:
return $this;
Pan X
Profil
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
Pan X:
třída musí implementovat magickou metodu __toString() která ti vrátí ten obsah
Pan X
Profil
Díky

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