Chybové šablony

V Háefku můžete v controlleru velmi jednoduše „vyskočit“ z právě prováděného kódu a zobrazit chybovou stránku. Slouží k tomu metoda error().

Jako první argument předáte jméno chybové šablony. Framework obsahuje pár předdefinovaných chybových šablon, které sám užívá. Samozřejmostí je možnost si tyto šablony v aplikaci jednoduše nahradit vlastními. Chybové šablony se ukládají do app/templates/_errors.

Druhý argument je logického typu, a určuje, zda je šablona použitelná i v ostrém provozu. Pokud uvedete false, tak se šablona v ostrém provozu nahradí šablonou 404.

Třetí, poslední argument určuje chybový kód, který se odešle. Defaultní hodnota je 404. Pokud zadáte null, nepošle se žádná chybová hlavička.

public function showAction($page)
{
    $page = Db::fetch('select * from [pages] where [url] = %s', $page);
    if (empty($page))
        $this->error('page-not-exists'); # vyskoci z kodu a zobrazi /templates/_errors/page-not-exists.phtml

    $this->view->page = $page;
    $this->view->title = $page->title;
}

Předdefinované chybové šablony

Název Popis V ostrém provozu
404 stránka neexistuje  
500 interní chyba  
routing nebyl proveden routing nahrazena
missing-controller chybí controller nahrazena
missing-method chybí metoda nahrazena
missing-view chybí view soubor nahrazena
missing-file chybí soubor nahrazena