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.