2. diel - Nette sandbox a IDE
V minulej lekcii, Úvod do Nette frameworku pre PHP , sme si urobili úvod do Nette frameworku. V dnešnom Nette tutoriálu si pripravíme potrebné nástroje.
Potrebný softvér
Ako prvý, čo je potrebné urobiť, je pripraviť si správny softvér, ktorý budeme potrebovať. Budem predpokladať, že máte nainštalovaný a sprevádzkovaný webový server Apache + PHP + MySQL. Ak nie, tak pre začiatočníkov odporúčam XAMPP.
Pre aktuálne Nette, teda verziu 2.4.x, budete potrebovať PHP 5.6 a vyššie! My budeme používať najnovšie PHP 7, ktoré je v čase písania tohto článku PHP 7.3.
Ďalej pre tých, čo sú zvyknutí písať v editore ako napríklad PSPad, by som odporučil nejaké IDE, ktoré vám prácu uľahčia. Odporúčam NetBeans (aktuálna verzia v čase písania tohto článku je 10), ktorý má v sebe zabudovaný plugin priamo pre Nette a nemusíte ho teda inštalovať ručne, ako tomu bolo v predchádzajúcich verziách.
Ak toto všetko máte, tak budeme samozrejme potrebovať Nette framework. Ten stiahneme na oficiálnom webe v sekcii download a to v aktuálnej verzii a rozbalíme do nejakej zložky na disku.
NetBeans
Ak ste sa rozhodli pracovať v NetBeans, tak je potreba (no nie je to nutné, ale pre ďalšiu prácu je to lepšie) urobiť pár nastavenia.
V hlavnom okne NetBeans kliknete na Tools -> Options a v novo zobrazenom okne kliknete na PHP, vyberiete záložku Frameworks & Tools, následne v bočnom zozname Nette2 a zadáte dve cesty. Prvý z nich je k "loaderu" Nette a druhá je k sandboxe.
Vytvorenie projektu z sandboxe
Teraz už máme snáď všetko nastavené a zostáva len vytvorenie projektu. To vykonáme ako v každom inom IDE - File -> New project.
V novo otvorenom okne sa zobrazí sprievodca. Vyberieme kategórii PHP a ako projekt zvolíme PHP Application.
V ďalšom kroku vyplníme názov projektu (napr. Známe
hello-world
, ale na názve nám teraz nezáleží) a miesto, kam sa
má uložiť. Asi niekam, kam má prístup Apache server ako napr. Zložka
htdocs/
.
V treťom kroku nie je potrebné nič meniť a v poslednom, teda štvrtom kroku, vyberiete požadovaný framework - v našom prípade Nette2 PHP Web Framework a klikneme na Finish.
Týmto som vytvorili prvý projekt postavený na Nette v rámci NetBeans IDE!
Ak chceme používať novšie vlastnosti jazyka (napríklad tie z PHP 7), ako
sme písali vyššie, je potrebné tieto zmeny uskutočniť v
composer.json
súbore. V sekcii Dependencies uvidíte
"php": ">=5.6.0"
. Tento riadok prepíšte na
"php": ">=7.0.0"
. Ďalej na konci súboru nájdete nasledujúcu
konfiguráciu.
"config": { "platform": { "php": "5.6" } }
Táto konfigurácia explicitne nastavuje verziu PHP na 5.6. Túto časť môžete zmazať.
Táto časť je užitočná, ak chcete využívať novšie vlastnosti PHP 7.
Niektoré IDE, ako napríklad PhpStorm, si podľa konfiguráciu v
composer.json nastaví aktuálnej verzii PHP. Pri použití novších
vlastností jazyka potom budú hlásiť chybu. Explicitným nastavením verzie
PHP na verziu 7 (prípadne vyššia ako >= 7.3.0
), budete môcť
využívať novších konštrukcií jazyka a IDE tomu bude rozumieť. Tieto
zmeny je potrebné vykonať aj v prípade, že ste vytvárali projekt pomocou
Composer.
Smerovanie
Keďže vlastný súbor index.php
sa nachádza v priečinku
www/
, tak výsledná adresa bude vyzerať ako
http://localhost/hello-world/www/
. Elegantný cesta, ako to
vylepšiť v rámci Apache servera, je vytvoriť v koreňovom adresári projekte
súbor .htaccess
. Pomocou neho sa potom môžeme ľahko
presmerovať do zložky www/
a URL adresa bude vyzerať ako
http://localhost/hello-world/
.
Súbor pridáme kliknutím pravým tlačidlom na Source Files v okne NetBeans
a vyberieme z kontextovej ponuky New -> Other ... V otvorenom okne zvolíme
kategóriu Other a v pravom stĺpci vyberieme Empty file. Klikneme na Next a ako
názov súboru napíšeme .htaccess
a klikneme na Finish.
Do vytvoreného súboru napíšeme alebo vložíme nasledujúci kód:
<IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^$ www/ [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} !^www/ RewriteRule ^(.*)$ www/$1 </IfModule>
Alternatívnom riešení je prinútiť Apache, aby automaticky prvý
navštívil zložku www. To môžeme urobiť dvoma spôsobmi. Prvým z
nich je nastaviť DocumentRoot premennú v konfiguračnom súbore
httpd.conf
. Ak túto premennú nastavíte na www zložku Nette,
máte zaistené, že sa užívateľ nedostane mimo (po nastavení je potreba
reštartovať Apache server). Alternatívnym spôsobom je nastaviť tzv.
Virtuálny hostí. Ich nastavenie je však mimo obsah tohto článku.
Tým sa dostávame k dnešnému výsledku, kedy by sa vám mala zobraziť podobná stránka ako vidíte nižšie. Potom ste všetko urobili správne a sme teda na správnej ceste k naučenie sa Nette ak budúci lekciu.
Requirements checker
Niekedy sa môže hodiť overiť, či nastavenia Apache a PHP spĺňa
podmienky pre správny beh Nette frameworku. V priečinku
sandbox/www/checker/
sa nachádza tzv. Requirement
Checker (pre staršie verzie Nette ho hľadajte v inej zložke).
Spúšťa sa zadaním adresy -
http://localhost/hello-world/checker/
a umožňuje overiť
správnosť všetkých závislostí:
Všetky riadky by mali svietiť zeleno. Ak je nejaký žltý, tak to nevadí a framework pôjde, len nebudete môcť využívať danú funkcionalitu.
Nabudúce, v lekcii Prvé aplikácie v Nette , si vytvoríme svoju prvú aplikáciu v Nette. Prezradím, že ide o jednoduchú kalkulačku.
Mal si s čímkoľvek problém? Stiahni si vzorovú aplikáciu nižšie a porovnaj ju so svojím projektom, chybu tak ľahko nájdeš.
Stiahnuť
Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami
Stiahnuté 943x (6.67 MB)
Aplikácia je vrátane zdrojových kódov v jazyku PHP