Jet\Debug_ErrorHandler_Error
Ať už ErrorHandler zachytí chybu, nebo nezachycenou výjimku, tak to vždy přetransformuje do podoby instance této třídy a následně se s chybou pracuje.
Každý handler očekává informace právě v podobě instance této třídy.
Přehled metod
Metoda | Význam |
---|---|
static newError( int $code, string $message, string $file, int $line ): static |
Vytvoří vlastní instanci podle dat o PHP problému |
static newException( Throwable $exception ): static | Vytvoří vlastní instanci podle výjimky |
protected static getPHPErrorText( int $error_number ): string |
Funkce pro vnitřní použití. Číselný kód PHP chyby převádí na textovou interpretaci. |
protected getCurrentURL(): string | Funkce pro vnitřní použití. ErrorHandler sám o sobě musí být celkově malý a maximálně nezávislý na zbytku systému. Proto má svou vlastní pomocnou funkci pro určení aktuální URL požadavku. |
getRequestURL(): string | Vrátí URL požadavky při kterém došlo k problému. |
getDate(): string | Vrátí datum (formát YYYY-MM-DD) kdy došlo k problému. |
getTime(): string | Vrátí čas (formát HH:MM:SS) kdy došlo k problému. |
getCode(): int | Vrátí kód chyby. Jedná se o PHP kód chyby, nebo o kód výjimky (pokud výjimka nějaký kód měla). |
getTxt(): string | Vrátí základní textovou informaci o problému. |
getMessage(): string | Vrátí podrobné informace o problému. |
getFile(): string | Cesta k souboru / skriptu, kde k problému došlo. |
getLine(): int | Číslo řádku, kde k problému došlo. |
getException(): Throwable|null | Pokud problém představuje výjimku, tak pomocí této metody je možné získat její instnaci. |
getBacktrace(): Debug_ErrorHandler_Error_BacktraceItem[] | Vrátí backtrace k problému. Tedy pole obsahující instance Jet\Debug_ErrorHandler_BacktraceItem |
isFatal(): bool | Indikuje zda se jedná o fatální problém. |
isSilenced(): bool | Indikuje zda se jedná o nezávažné varování, které bylo "umlčeno"? Viz ErrorHandler |
setIsSilenced( bool $is_silenced ): void |
Nastavení příznaku "je umlčeno". Viz předchozí metoda a také ErrorHandler |
__toString(): string toString(): string |
Převede problém na jeho textový popis - do textové podoby bez formátování. Užitečné zejména pro logování, nebo CLI režim, nebo logování |
static setFormatter( callable $formatter ): void |
Třída má metody toString() a __toString(). Chybu je tedy možné snadno převést na text. Toho využívá například handler, který zaznamenává chyby do logu. Ovšem může se stát, že vám podoba těchto textových hlášení nebude vyhovovat. Jek to vyřešit? Předělávat knihovnu Jet? Určitě ne! Nebo použít dědičnost - což by velice zesložitilo tuto část systému, která už z principu má být co nejjednodužší? Také ne ... Můžete si prostě udělat vlastní formátovač a ten v inicializaci ErrorHandleru nastavit. Např. takto:
Debug_ErrorHandler_Error::setFormatter(
|