Co je nového v PHP 5 (díl 4/5)
V tomto díle se podíváme na další objektová rozšíření PHP 5. Jedním z nich je podpora pro konstanty v rámci třídy. Příklad?
class _trida{ const constant = "constant"; } echo "_trida::constant = " . _trida::constant . "\n";
V PHP 5 je možno odkazovat v návratových typech funkcí na metody instancí tříd, což v PHP 4 možno není. Příklad?
class _prvni{ function doSomething() { print "prvni\n"; } } class _druhy{ function doSomething() { print "druhy\n"; } } function _cislo($cislo) { switch ($cislo) { case "prvni": return new _prvni(); case "druhy": return new _druhy(); } } _cislo("prvni")->doSomething(); _cislo("druhy")->doSomething();
Statické proměnné tříd mohou mít v PHP 5 přiřazenu počáteční hodnotu:
class foo { static $my_static = 5; public $my_prop = 'ahoj'; }
Nové klíčové slovo instanceof uvádí zda daný objekt je přímou instancí, či potomkem, dané třídy. Příklad?
class baseClass {..} $a = new baseClass; if ($a instanceof baseClass) { echo "Ok!"; }
V posledním díle si ukážeme mimořádně užitečná rozšíření PHP 5 nazvané SimpleXML, které umožňuje ke XML dokumentu přistupovat jako ke strukturovanému poli, a také se podíváme na __call(), __get() a __set() metody třídy.