Typový systém

Typový systém je klíčový pro vývoj robustních aplikací. Latte přináší podporou typů i do šablon. Díky tomu, že víme, jaký datový či objektový typ je v každé proměnné, může

Obojí zásadním způsobem zvyšuje kvalitu a pohodlí vývoje.

Jak začít používat typy? Vytvořte si třídu šablony, např. CatalogTemplate, reprezentující předávané parametry:

class CatalogTemplate
{
	/** @var array */
	public $langs;

	/** @var ProductEntity[] */
	public $products;
}

$params = new CatalogTemplate;
$params->langs = $settings->getLanguages();
$params->products = $entityManager->getRepository('Product')->findAll();
$latte->render('template.latte', $params);

A dále na začátek šablony vložte značku {templateType} s plným názvem třídy (včetně namespace):

{templateType MyApp\CatalogTemplate}

Tím jsme definovali, že v šabloně budou proměnné $langs a $products včetně příslušných typů. Od té chvíle vám může IDE správně našeptávat.

Typy lokálních proměnných můžete uvést pomocí značek {var}, {varType}, {define}:

{var string $name = $article->getTitle()}
{varType Nette\Security\User $user}

Jak si ušetřit práci? Jak co nejsnáze napsat třídu s parametry šablony nebo značky {varType}? Nechte si je vygenerovat. Od toho existuje dvojice značek {templatePrint} a {varPrint}. Pokud je umístíte do šablony, místo běžného vykreslení se zobrazí návrh kódu třídy resp. seznam značek {varPrint}. Kód pak stačí jedním kliknutím označit a zkopírovat do projektu.

(od Latte 2.7)

Vylepšit tuto stránku