Konfigurace aplikací
Přehled konfiguračních voleb pro Nette Aplikace.
Application
Od nette/application
verze 3.2 lze definovat dvojici error-presenterů:
Volba silentLinks
určuje, jak se Nette zachová ve vývojářském režimu, když selže generování odkazu
(třeba proto, že neexistuje presenter, atd). Výchozí hodnota false
znamená, že Nette vyhodí
E_USER_WARNING
chybu. Nastavením na true
dojde k potlačení této chybové hlášky. V produkčním
prostředí se E_USER_WARNING
vyvolá vždy. Toto chování můžeme také ovlivnit nastavením proměnné presenteru
$invalidLinkMode.
Aliasy zjednodušují odkazování na často používané presentery.
Mapování definuje pravidla, podle kterých se z názvu presenteru odvodí název třídy.
Automatická registrace presenterů
Nette automaticky přidává presentery jako služby do DI kontejneru, což zásadně zrychlí jejich vytváření. Jak Nette presentery dohledává lze konfigurovat:
Adresáře uvedené v scanDirs
nepřepisují výchozí hodnotu %appDir%
, ale doplňují ji,
scanDirs
tedy bude obsahovat obě cesty %appDir%
a %vendorDir%/mymodule
. Pokud bychom
chtěli výchozí adresář vynechat, použijeme vykřičník,
který hodnotu přepíše:
Skenování adresářů lze vypnout uvedením hodnoty false. Nedoporučujeme úplně potlačit automatické přidávání presenterů, protože jinak dojde ke snížení výkonu aplikace.
Šablony Latte
Tímto nastavením lze globálně ovlivnit chování Latte v komponentách a presenterech.
Pokud používáte Latte verze 3, můžete přidávat nové rozšíření pomocí:
Pokud používáte Latte verze 2, můžete registrovat nové tagy (makra) buď uvedením jména třídy, nebo referencí na
službu. Jako výchozí je zavolána metoda install()
, ale to lze změnit tím, že uvedeme jméno jiné metody:
Routování
Základní nastavení:
Routování obvykle definujeme ve třídě RouterFactory. Alternativně lze routy
definovat také v konfiguraci pomocí dvojic maska: akce
, ale tento způsob nenabízí tak širokou variabilitu
v nastavení:
Konstanty
Vytváření PHP konstant.
Po nastartování aplikace bude vytvořena konstanta Foobar
.
Konstanty by neměly sloužit jako jakési globálně dostupné proměnné. Pro předávání hodnot do objektů využijte dependency injection.
PHP
Nastavení direktiv PHP. Přehled všech direktiv naleznete na php.net.
Služby DI
Tyto služby se přidávají do DI kontejneru:
Název | Typ | Popis |
---|---|---|
application.application |
Nette\Application\Application | spouštěč celé aplikace |
application.linkGenerator |
Nette\Application\LinkGenerator | LinkGenerator |
application.presenterFactory |
Nette\Application\PresenterFactory | továrna na presentery |
application.### |
Nette\Application\UI\Presenter | jednotlivé presentery |
latte.latteFactory |
Nette\Bridges\ApplicationLatte\LatteFactory | továrna objektu Latte\Engine |
latte.templateFactory |
Nette\Application\UI\TemplateFactory | továrna pro $this->template |