Autor Zpráva
exprogramátor
Profil *
Ako zisriť či trieda je potomkom inej triedy?

Potreboval by som zistiť podľa reťazca názvu triedy či je to potomok inej triedy tj niečo takéto:

jePotomok('XXX','ArrayObject');

Viem že v PHP na tento účel existuje operátor instanceOf a funkcia:

is_subclass_of ( mixed $object , string $class_name )

ale tá nezisťuje potomka podľa názvu triedy uloženého v reťazci ale podľa inštancie triedy. Vytvárať inštanciu len preto aby som to mohol odtestovať mi príde neefektívne.
__construct
Profil
presne tou funkciou ktorú si napísal is_subclass_of(); v príklade je písané, že od verzie 5.0.3 sa dá použiť aj týmto spôsobom:
<?php

class Rodic {
  var $foo = 'BAR';
}

class Dieta extends Rodic {
  var $foo = 'BARBAR';
}

// od PHP 5.0.3
if (is_subclass_of('Dieta', 'Rodic')) {
  echo "Ano tried Dieta je potomok triedy Rodic\n";
} else {
  echo "Nie trieda Dieta nie je potomkom triedy Rodic \n";
}
exprogramátor
Profil *
no už som to aj ja zistil že to funguje aj z reťazca... ale dík.

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: