Snadný vývoj webových aplikací s Nette Lukáš Jelínek
Proč framework? ušetří spoustu práce (implementace, úpravy) vývoj = co udělat, ne jak to udělat bezpečnost štábní kultura prostředky pro ladění podpora v IDE
Proč Nette? Snadný vývoj webových aplikací s Nette Common 2016 Mikulov lehký ( nenabobtnalý ) framework pro PHP kvalitní návrh, koncept MVP vysoká bezpečnost vysoký výkon modularita, pluginy ladicí nástroje licence BSD české dílo, aktivní česká komunita
Nevýhody Nette menší rozšíření mimo ČR pro 2.4 minimálně PHP 5.6 vyžaduje některá rozšíření PHP (iconv, PCRE, reflection ) relativně úzká škála funkcí Symphony, Laravel, CodeIgniter, CakePHP, Yii 2, Slim, Zend Framework, FuelPHP
Autoloading Snadný vývoj webových aplikací s Nette Common 2016 Mikulov zapomeňte na require/require_once snadná změna struktury souborů analýza závislostí se provádí jen při změně (ale lze vynutit vždy) pozor na duplicity názvů používejte namespaces!
Koncept MVC/MVP MVC = Model View Controller MVP = Model View Presenter Model = práce s daty, aplikační logika View = šablony Latte Presenter = prezentace dat uživateli, obsluha akcí
Šablony, formát Latte Latte = kód PHP, bloky, makra, filtry dědičnost lze míchat s HTML, JS, CSS, XML blok = ucelený kus šablony, lze předefinovávat makro = činnosti a řízení běhu šablon filtr (helper) = zpracování prezentovaných dat
Prezentery Snadný vývoj webových aplikací s Nette Common 2016 Mikulov zpracování akce přesměrování, změna view zpracování signálu vykreslování komponenty opakovaně použitelné části flash zprávy přežijí i přesměrování
Konfigurace Snadný vývoj webových aplikací s Nette Common 2016 Mikulov konfigurační soubory formát NEON (služby) společná konfigurace, vývoj, produkce databáze, formuláře, ladění, vlastní služby autowiring cachování konfigurace vývojářský režim
Dependency injection (DI) eliminace globálních proměnných, autowiring DI kontejnery (statické, dynamické) předávání závislostí konstruktor setter / proměnná metoda inject*() anotace @inject
Databáze Snadný vývoj webových aplikací s Nette Common 2016 Mikulov rozhraní nad PDO podpora řady databází (MySQL, PostgreSQL, ODBC...) parametry připojení : konfigurační soubory surové SQL : lze (bezpečně), ale lepší se mu vyhýbat fluent interface, lazy chování automatická optimalizace
Formuláře a validace automatické generování, možnost používat šablony, manuální vykreslování snadné zpracování dat validace jedno pravidlo pro server i klient předpřipravená i vlastní pravidla ochrana proti XSS a CSRF snadný překlad textů
Překlady do jiných jazyků připraveno rozhraní pro překlady automatický překlad šablon a textů ve formulářích podpora pro texty u čísel Nette nemá výchozí implementaci lze použít implementace třetích osob nebo vlastní
AJAX velmi snadná ajaxizace aplikací koncepce snippetů server posílá jen zneplatněné kusy kódu konzistentní chování s AJAXem i bez něj
Routování URL široké možnosti tvorby hezkých URL validace parametrů jednosměrky překlady filtry pro URL
Ladění ladicí nástroj Tracy (dříve Laděnka) vizualizace chyb přehledné zobrazení logování, posílání e-mailem výpis dat, měření času ladicí panel nástrojů FireLogger napojení na Firebug
Další funkce Nette autentizace a autorizace, role, práce s hesly vylepšení tříd PHP kontrola, properties (get/set), události, reflexe, anotace posílání e-mailů přílohy, šablony sessions sekce, konfigurace cache podpora v šablonách, tagy, priority obrázky načítání, ukládání, změna velikosti SafeStream atomické souborové operace
Odkazy Snadný vývoj webových aplikací s Nette Common 2016 Mikulov https://nette.org web projektu Nette https://ne-on.org NEON sandbox https://www.zdrojak.cz/serialy/zaciname-s-netteframework/ od hlavního tvůrce Davida Grudla, staré! https://www.posobota.cz Poslední sobota (setkání) https://phpfashion.com blog Davida Grudla
Děkuji za pozornost. Dotazy?