Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

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.

Nastavenie NetBeans pre Nette - Základy Nette frameworku

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.

Vytvorenie PHP Nette projektu - Základy Nette frameworku

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/.

Názov Nette projektu a umiestnenie - Základy Nette frameworku

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.

dokončenie sprievodca - Základy Nette frameworku

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.

Sprevádzkovaný sandbox v Nette frameworku - Základy Nette frameworku

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í:

Nette Checker - Základy Nette frameworku

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é 926x (6.67 MB)
Aplikácia je vrátane zdrojových kódov v jazyku PHP

 

Predchádzajúci článok
Úvod do Nette frameworku pre PHP
Všetky články v sekcii
Základy Nette frameworku
Preskočiť článok
(neodporúčame)
Prvé aplikácie v Nette
Článok pre vás napísal michalkasparec
Avatar
Užívateľské hodnotenie:
1 hlasov
Autor se věnuje backendovým systémům postavených na .NET Core a databázím MS-SQL a pracuje ve společnosti Avast Software..
Aktivity