V Nette můžeme pro práci s RabbitMQ využít knihovnu od Kdyby/RabbitMq.
Rubrika: Nette framework
Nette: Návrat na předchozí stránku po odeslání formuláře
Po odeslání formuláře se často potřebujeme vrátit na předchozí stránku.
Řešení: Před přechodem na stránku s formulářem uložíme url počáteční stránky do sessions. Po odeslání formuláře a vykonání potřebného kódu přečteme uloženou url adresu a provedeme přesměrování.
Abychom tento proces nemuseli provádět ručně, využijeme metody Nette storeRequest() a restoreRequest(), které jsou k této činnosti určeny.
Pokračování textu Nette: Návrat na předchozí stránku po odeslání formuláře
Nette: Proces přihlášení uživatele
Autentizace (přihlášení uživatele) představuje proces ověření identity uživatele, nejčastěji prostřednictvím porovnání zadaných přihlašovacích údajů oproti seznamu existujících uživatelů.
Ve frameworku Nette hrají roli v procesu autentizace následující části.
Objekt User obsluhuje přihlášení (login()) a odhlášení logout() uživatele a ověření, zda je uživatel stále přihlášen (isLoggedIn()).
Objekt Autentikátor, ověřuje zadané přihlašovací údaje uživatelem (authenticate()).
Objekt Identity obsahuje data uživatele.
Nette: Form Renderer
HTML elementy Rendereru
Nette: Manuální vykreslování formulářů
Kromě vykreslení celého formuláře jedním makrem {control nazevFormulare}, můžeme formulář vykreslit postupně část po části. Je to pracnější způsob, ale získáme větší kontrolu nad vykreslením formuláře.
Nette: Router a URL
Routování v Nette zajišťuje obousměrný převod mezi URL a akcí presenteru:
- z URL (Nette\Http\IRequest) lze odvodit presenter a akci (Nette\Application\Request)
- z presenteru (Nette\Application\Request) a akce lze vytvořit (absolutní) URL
Pravidla routování lze kdykoliv změnit.
Typy routerů
Nette: SimpleRouter
Nejjednodušší varianta routeru.
Použijeme, pokud:
- není k dispozici přesměrování (mod_rewrite apod.)
- nemáme zvláštní nároky na tvar URL
- nechceme řešit pěkné URL
API:
Nette\Application\Routers\SimpleRouter
Tvar URL:
http://zooom.cz/?presenter=Product&action=detail&id=123
Použití třídy:
$router = new SimpleRouter('Homepage:default');
Parametry:
- výchozí presenter a akce (je použit při zadání URL bez parametrů)
- (nepovinný) příznaky
Lze zaregistrovat v konfiguračním souboru (config.neon):
services: application.router: Nette\Application\Routers\SimpleRouter('Homepage:default')
Zdroje
Nette: Multiplier
Multiplier v Nette je nástroj pro vytváření komponent dynamicky za běhu.
Umožňuje definovat továrničku pro více komponent.
Funguje na principu vnořených komponent – každá komponenta zděděná od NetteComponentModelContainer může obsahovat další komponenty. Pokračování textu Nette: Multiplier
Nette: Životní cyklus presenteru
Cesta HTTP požadavku na aplikaci:
- soubor index.php
- soubor bootstrap.php
- objekt $application
- router – překlad požadavku na název presenteru a akce
- vytvoření objektu presenteru (presenterFactory)
- presenter – zpracuje požadavek a vrátí odpověď (HTML stránka, obrázek, XML dokument, soubor na disku, JSON, přesměrování atd.)
Pořadí volání metod presenteru při běžném požadavku
Pořadí volání metod presenteru při požadavku na signál
Pořadí volání metod presenteru při odeslání formuláře
Nette: Doplněk pro Debugger Bar
Debugger Bar je plovoucí panel, který se zobrazí v pravém dolním rohu stránky.
Do Debugger Baru lze přidávat další užitečné panely. Řadu jich najdeme v doplňcích.
Můžeme si vytvořit vlastní doplněk, který bude poskytovat informace podle vlastních potřeb. Pokračování textu Nette: Doplněk pro Debugger Bar