Dokumentace
- Aplikace
- Databáze
- Šablony
- Formuláře
- Knihovny
- Návody
Vlastní helper
Helpery slouží především k tomu, aby vám pomáhali vytvářet váš výstupní kód. Tedy, jejich použití je hlavně v šablonách Můžete si samozřejmě vytvořit i své vlastní helpery.
Příklad: Vytváříme více jazyčnou aplikaci a potřebujeme, aby každý odkaz na začátku začínal zkratkou jazyka. Což je ovšem trošku otravné, stále přidávat zkratku do všech url. Proto si jednoduše vytvoříme helper:
class MyHtml extends Html
{
public function link($url, $text = null, $attrs = array(), $escape = true)
{
# overime jestli url nezacina lomitkem, nebo neni
# absolutni, v tomto pripade jazyk automaticky pridavat nebudeme
if (preg_match('#^(http://|www\.|/)#i', $url[0]))
$url = Application::get()->router->lang . '/' . $url;
# jako jazyk jsme nastavili tem, ktery je aktualni v routingu
return parent::link($url, $text, $attrs, $escape);
}
}
Helper uložíme tam, odkaď ho načte autoloader, nebo ho musíme načíst
sami. Použití našeho helperu je velmi jednoduché. Do template jej načteme
pomocí metody getHelper, jako její druhý parametr volitelně
předáme jméno proměnné, do které jej zapíšeme. V tomto příkladě
schválně přepisujeme původní proměnnou s HtmlHelperem.
class PostsController extends AppController {
public function init() {
$this->template->getHelper('myhtml', 'html');
}
}
