网络视听节目新规,关于鬼畜视频的权威说法来了!
![]() | |
Vyvojá? | David Grudl, dobrovolní p?ispěvatelé |
---|---|
Aktuální verze | 3.2.1 (11. b?ezna 2024) |
P?ipravovaná verze | 4.0.0 (11. b?ezna 2024) |
Opera?ní systém | Multiplatformní |
Vyvíjeno v | PHP |
Typ softwaru | Webovy aplika?ní framework |
Licence | New BSD, GNU GPL |
Web | nette.org |
Některá data mohou pocházet z datové polo?ky. |
Nette Framework je open source framework pro tvorbu webovych aplikací v PHP. Zamě?uje se na eliminaci bezpe?nostních rizik, podporuje AJAX, DRY, KISS, MVC a znovupou?itelnost kódu. Vyu?ívá událostmi ?ízené programování a z velké ?ásti je zalo?en na pou?ití komponent. Autorem Nette Frameworku je David Grudl, ktery se stará o jeho dal?í rozvoj spolu s dal?ími p?ispěvateli.[1] Nette Framework je svobodny software, nabízeny pod licencemi GNU GPL a licencí New BSD[2].
Během vyvoje se do frameworku p?idávaly dal?í u?ite?né (ale ne nepostradatelné) nástroje, doplňky, komponenty apod. A tím zdrojovy kód stále rostl. Navíc kdy? chtěl vyvojá? pou?ít nap?. jen formulá?e, musel si stáhnout cely framework. Proto se framework ve verzi 2.2 rozdělil do mnoha samostatnych repozitá??.
Po?adavky
[editovat | editovat zdroj]Nette Framework 3.0 vy?aduje PHP ve verzi 7.1 a vy??í, Nette 3.1 PHP ve verzi 7.2 a vy??í, nejnověj?í verze Nette 4.0 pak PHP 8.0 a vy??í. Dal?í po?adavky je mo?né otestovat na serveru pomocí oficiálního nástroje Requirements Checker.[3]
Vlastnosti Nette Framework
[editovat | editovat zdroj]- Ladící nástroje
- Aktivní komunita u?ivatel? v ?R
- Podpora jmennych prostor? v PHP 5.3
Autoloading
[editovat | editovat zdroj]NetteLoader
[editovat | editovat zdroj]V produk?ním prost?edí sta?í na?íst jediny soubor.
<?php
require_once 'Nette/loader.php';
RobotLoader
[editovat | editovat zdroj]- Vyu?ívá cache, je t?eba nastavit její cestu
- Inteligentní zneplatnění cache
- V souboru netterobots.txt lze nastavit ignorované adresá?e
$loader = new RobotLoader();
$loader->addDirectory('libs');
$loader->register();
Eliminace a ladění chyb
[editovat | editovat zdroj]Nette Framework poskytuje několik velmi silnych nástroj? pro odhalování a o?et?ování p?ípadnych chyb.
Laděnka
[editovat | editovat zdroj]Ladící nástroj na odchytávání chyb vzniklych během kompilace programu. Zp?ehledňuje klasické chybové hlá?ky. Umo?ňuje tak efektivní ladění aplikace. Sta?í vyu?ít NetteLoader a zapnout debug mód.
<?php
require 'libs/Nette/loader.php';
Debug::enable();
P?ipojení na FireBug
[editovat | editovat zdroj]Komunikací FireBug a Nette\Debug umo?ňuje zasílat zprávy samostatnym kanálem, mimo okno samotného prohlí?e?e. Informace se tedy neztratí v p?ípadné záplavě text? na stránce, ale zobrazí se p?ehledně v jiném okně. Chyby úrovně E_NOTICE a E_WARNING jsou do FireBug zasílány automaticky. Je nutné mít nainstalovany FireFox alespoň verze 2. Stáhnout si roz?í?ení Firebug a FirePHP minimálně verzi 0.2. Nette\Debug komunikuje s FireBug p?es hlavi?ky HTTP. Je tedy nutné volat logovací funkci p?ed tím ne? za?ne PHP skript cokoliv vypisovat. Samoz?ejmě je mo?né zapnout output buffering a tím vystup oddálit.
Konzole
[editovat | editovat zdroj]Nette Debug console je vyskakovací okénko, do kterého je mo?né vypisovat proměnné.
<?php
$pole = array(1,2,3,5);
Debug::consoleDump($pole);
Logování chyb
[editovat | editovat zdroj]V p?ípadě produk?ního re?imu, kdy není vhodné ani ?ádoucí vyu?ívat některou z p?edchozích metod vypisu chyb nám dává Nette Framework nástroj k zachycení vzniklych chyb do logu. Textového souboru, kde se m??eme p?esně dozvědět co se v aplikaci stalo a p?ípadné chyby opravit. Logování chyb je t?eba zapnout a nastavit cestu k adresá?i, do kterého je mo?né zapisovat.
Debug::enable(Debug::DETECT, '%logDir%/php_error.log', 'admin@example.com');
Parametr Debug::DETECT ?íká, ?e má Nette samo zjistit zda se server nachází v produk?ním nebo vyvojovém re?imu. Dal?í parametr je cesta k logovacím soubor?m a poslední je e-mailová adresa, kam se bude zasílat upozornění o vzniku chyby.
Vyvojovy nebo produk?ní re?im
[editovat | editovat zdroj]Nette rozli?uje 2 re?imy, pod kterymi bě?í server. Vyvojovy re?im se sna?í nabídnout ve?keré informace pro programátora o rychlosti běhu aplikace, o routování a pohodlny vypis vzniklych chyb. Naproti tomu v produk?ním re?imu Nette ve?keré informace skryje a umo?ňuje logování chyb do souboru mimo o?i bě?ného u?ivatele.
Framework doká?e sám zjistit v jakém re?imu se server nachází. Rozhoduje se na základě IP adresy p?idělené serveru. Chybu m??e zp?sobit server bě?ící za proxy serverem, nebo server ur?eny pro lokální pot?eby organizace. V tomto p?ípadě je nutné nastavit aktuální re?im ru?ně.
Debug::enable(Debug::DEVELOPMENT);
Debug::enable(Debug::PRODUCTION);
Webové formulá?e
[editovat | editovat zdroj]Nette dává programátorovi velmi silny nástroj pro tvorbu formulá??. Samotny framework za?ídí ve?keré ohlídání prvk? formulá?e. Ohlídá vstupy proti mo?nym útok?m.
P?ednosti Nette Framework
[editovat | editovat zdroj]- Obsahuje velmi silny valida?ní jazyk
- Automaticky generuje valida?ní JavaScript
- Plná moc nad vzhledem formulá??
- Podpora automatického p?ekladu
- O?et?ení proti útok?m: XSS, Cross-Site Request Forgery, UTF-8 attack
- Silná ochrana proti SQL injection, v p?ípadě pou?ívání notORM (Nette database)
$form = new Form();
$form->addText('jmeno','Zadejte jméno')
->addRule(Form::FILLED,'Zadejte své jméno');
$form->addPassword('heslo','Zadejte své heslo')
->addRule(Form::FILLED,'Zadejte heslo');
$form->addSubmit('prihlasit','P?ihlásit');
echo $form;
Nevyhody Nette Framework
[editovat | editovat zdroj]- Nutnost ob?as ru?ně promazat cache
- Databázová vrstva se chová vyrazně jinak pro tabulky bez primárního klí?e
Routování, Cool URL
[editovat | editovat zdroj]Na rozdíl od vět?iny jinych framework? je mo?né nastavit tvar URL jako poslední věc v celé aplikaci. Umo?ňuje to obousměrné zpracování rout?, které slou?í jak k parsování tak generování cest. Pěkné URL (Cool URL) je d?le?ité také pro SEO, vyhledáva?e adresy vyhodnocují a stává se sou?ástí bodování d?le?itostí webu a ovlivňuje tak pozici ve vyhledáva?i. Zároveň jsou adresy ?itelněj?í a zapamatovatelněj?í pro u?ivatele stránek. Nette odstiňuje pou?ití direktiv mod_rewrite a tak není nutné definovat tvar rout na více místech. Tím se p?edchází vzniku chyb.
Podpora
[editovat | editovat zdroj]K Nette Frameworku po?ádá autor ?kolení, která ?áste?ně mohou nahradit chybějící kusy dokumentace.[4] Ka?dy měsíc se také koná neformální setkání p?íznivc? Nette Frameworku, nazyvané Poslední sobota po?ádané v Praze, Brně i na jinych místech.[5]
Reference
[editovat | editovat zdroj]- ↑ Tym a p?ispěvatelé. nette.org [online]. [cit. 2025-08-07]. Dostupné online.
- ↑ Licen?ní politika na oficiálních stránkách Nette
- ↑ Nástroj Requirements Checker
- ↑ Jakub Vrána: Ohlas na ?kolení Nette, blog PHP triky
- ↑ Poslední sobota v měsíci pro p?íznivce Nette Frameworku, zprávi?ka na zdrojak.root.cz, 26. 2. 2009