Autor Zpráva
spartan13
Profil
Dobrý den,
omlouvám se možná za hloupý dotaz ale nikde jsem nenašel, jak lze zachytit vytváření instance abstraktní třídy.

try{
    $c = new AClass();
}catch(Exception $e){
    echo $e->getMessage();
}

tento kód stejně vyhodí: Fatal error: Cannot instantiate abstract class

děkuji za pomoc..
preca1
Profil
Zdravim,
čeho se snažíš dosáhnout? Vytvářet instance abstraktní třídy neni možný.
Joker
Profil
spartan13:
tento kód stejně vyhodí: Fatal error: Cannot instantiate abstract class
Protože to není výjimka, ale fatal error.
Výjimky jsou něco jiného, než tyhle chybové hlášky (fatal error, warning, notice, …)
spartan13
Profil
Joker:
Díky, máš pravdu. Šlo mi o to, že v PHP je možné do nějaké proměnné uložit string a následně ho použít jako název třídy, tak jsem chtěl zachytávat výjimku ale neuvědomil jsem si, že to takhle není možné.
Tori
Profil
spartan13:
$class = new ReflectionClass('nazevTridy');
if ($class->isAbstract()) { ... }

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: