V Nette můžeme pro práci s RabbitMQ využít knihovnu od Kdyby/RabbitMq.
Štítek: Nette
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: 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: nette.ajax.js
Načítání obsahu webových stránek bez nutnosti obnovení stránky prostřednictvím AJAXového volání je dnes běžnou praxí.
Toto chování urychluje zobrazení webové stránky a snižuje množství přenášených dat mezi serverem a prohlížečem.
Zavést toto chování na webu postaveném na frameworku Nette je, díky připraveným skriptům snadné a rychlé. Pokračování textu Nette: nette.ajax.js
Framework Nette: Lokalizace
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