Co je nového v PHP 5 (díl 4/5)

MyEgo.cz

home foto blogy mywindows.cz kontakt

Co je nového v PHP 5 (díl 4/5)

PHP 22.06.04

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.