2. díl - Nette sandbox a IDE

PHP Nette Framework Základy Nette sandbox a IDE

Unicorn College ONEbit hosting Tento obsah je dostupný zdarma v rámci projektu IT lidem. Vydávání, hosting a aktualizace umožňují jeho sponzoři.

V minulé lekci, Úvod do Nette frameworku pro PHP, jsme si udělali úvod do Nette frameworku. V dnešním Nette tutoriálu si připravíme potřebné nástroje.

Potřebný software

Jako první, co je potřeba udělat, je stáhnout/nain­stalovat/rozba­lit správný software, který budeme potřebovat. Budu předpokládat, že máte nainstalovaný a zprovozněný webový server Apache + PHP + MySQL. Pokud ne, tak pro začátečníky doporučuji XAMPP.

Dále pro ty co jsou zvyklí psát v editoru jako třeba PSPad, tak bych doporučil nějaké IDE, které vám práci usnadní. Doporučuji NetBeans, který má od verze 7.4 zabudovaný plugin přímo pro Nette a nemusíte ho tedy instalovat ručně, jako tomu bylo v předchozích verzích.

Pokud toto všechno máte, tak budeme samozřejmě potřebovat Nette framework. Ten stáhneme na oficiálním webu v sekci download a to v aktuální verzi.

Stažený archiv rozbalíme do nějaké složky na disku. Doporučuji kvůli nastavení co budeme provádět v NetBeans vytvořit složku v nějakém podobném formátu co dělám. Všechno bude později upřesněno. Můj adresář s rozbaleným frameworkem se nachází na disku D ve složce Nette.

Nenenechte se zmást obrázkem se starším číslem verze, tento seriál je průběžně aktualizováván pro nejnovější verze Nette, která je uvedena v předchozím dílu.

Adresář s Nette

V této složce mám více verzí, podle toho na kterých aktuálně mám postavené projekty a když něco potřebuji abych se k nim mohl zpětně dostat. Ve složce latest je aktuální poslední verze Nette, kterou používá NetBeans při vytváření nového projektu.

NetBeans

Pokud jste se rozhodli pracovat v NetBeans, tak je potřeba (no není to nutné, ale pro další práci je to lepší) udělat pár nastavení.

V hlavním okně NetBeans kliknete na Tools -> Options a v nově zobrazeném okně kliknete na PHP a vyberete záložku Nette2 a zadáte dvě cesty. První z nich je k "loaderu" Nette a druhá je k sandboxu.

Nastavení NetBeans pro Nette

Tady se ukazuje výhoda vložení aktuální verze do adresáře latest. Nemusíte při každé nové verzi přenastavovat cestu k novému umístění. Pouze přepíšete soubory novými.

Vytvoření projektu z sandboxu

Teď už máme snad všechno nastaveno a zbývá jen vytvoření projektu. To provedeme jako v každém jiném IDE - File -> New project.

V nově otevřeném okně se zobrazí průvodce. Vybereme kategorii PHP a jako projekt zvolíme PHP Application.

Vytvoření PHP Nette projektu

V dalším kroku vyplníme název projektu (např. DatabazeKnih, ale na názvu nám teď nezáleží) a místo kam se má uložit. Nejspíš někam, kam má přístup Apache jako htdocs.

Název Nette projektu a umístění

Ve třetím kroku není potřeba nic měnit a v posledním, tedy čtvrtém kroku, vyberete požadovaný framework - v našem případě Nette2 PHP Web Framework a klikneme na Finish

Dokončení průvodce

Tímto jsem vytvořili první projekt postavený na Nette. Výsledek naší práce by měl vypadat nějak takto

Nette projekt ze sandboxu

Ještě před spuštěním - otestováním - vytvořeného projektu vytvoříme jeden .htaccess soubor. Jelikož adresářová struktura projektu je

  • app
  • bin
  • log
  • temp
  • tests
  • vendor
  • www

, kde vlastní index.php je ve složce /www, tak by výsledná adresa vypadala http://localhost/…azeKnih/www/ s tím, že musíme kliknout po nahrání http://localhost/DatabazeKnih na adresář /www, aby se spustil index.php. Je možnost vytvořit v rootu projektu vlastní index.php a přesměrovat ho do /www/index.php a nebo index.php ze složky /www přesunout o úroveň výše, aby byl v kořenu projektu, ale s tím by se muselo překopat spousta věcí a zbytečně.

Elegantnější cesta je nechat vše jak je a vytvořit v rootu projektu soubor .htaccess. Pomocí něj se "přesuneme" do složky /www a bude ji brát jako root složku a URL adresa bude vypadat http://localhost/DatabazeKnih/.

Soubor přidáme kliknutím pravým tlačítkem na "Source Files" v okně NetBeans a vybereme z kontextové nabídky New -> Other.... V otevřeném okně zvolíme kategorii Other a v pravém sloupci vybereme Empty file. Klikneme na Next a jako název souboru napíšeme .htaccess a klikneme na Finish.

Do vytvořeného souboru napíšeme nebo vložíme následující 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>

a tím se dostáváme k dnešnímu výsledku, kdy by se vám mělo zobrazit stejné okno. Tím jste vše udělali správně a jsme tím pádem na správné cestě k naučení se Nette a k příštímu dílu.

Zprovozněný sandbox v Nette frameworku

Requirements checker

Někdy se může hodit ověřit, zda nastavení Apache a PHP splňuje podmínky pro správný běh Nette frameworku. Od verze Nette 2.4 se ve složce sandbox/www/checker/ nachází Requirement Checker (pro starší verze ho hledejte v jiné složce). Spouští se potom přes index.php až v již vytvořeném projektu, tam ho tedy nakopírujte a poté můžete zadáním adresy ověřit správnost všech závislostí:

http://localhost/DatabazeKnih/checker/

Nette Checker

Všechny řádky by měly svítit zeleně. Pokud je nějaký žlutý, tak to nevadí a framework pojede, jen nebudete moci využívat danou funkci.

Příště, v lekci První aplikace v Nette, si vytvoříme svou první aplikaci v Nette. Prozradím, že se jedná o jednoduchou kalkulačku.


 

Stáhnout

Staženo 611x (803.45 kB)
Aplikace je včetně zdrojových kódů v jazyce PHP

 

 

Článek pro vás napsal michalkasparec
Avatar
Jak se ti líbí článek?
24 hlasů
Autor se věnuje backendovým systémům postavených na PHP a databázím MySQL a MS-SQL a pracuje ve společnosti AVG technologies CZ.
Miniatura
Předchozí článek
Úvod do Nette frameworku pro PHP
Miniatura
Všechny články v sekci
Základy Nette frameworku
Miniatura
Následující článek
První aplikace v Nette
Aktivity (4)

 

 

Komentáře
Zobrazit starší komentáře (15)

Avatar
SolusLupusUmbra
Redaktor
Avatar
SolusLupusUmbra:10.7.2017 22:12

díky.
jak fungují třídy ve složky forms, tj. jak můžu použít ty factory na formuláře?

 
Odpovědět 10.7.2017 22:12
Avatar
Jindřich Máca
Tým ITnetwork
Avatar
Odpovídá na SolusLupusUmbra
Jindřich Máca:10.7.2017 23:06

Fungují jako továrničky pro formuláře na přihlašování a registraci uživatelů a použít je dozajista můžeš. :)

 
Odpovědět 10.7.2017 23:06
Avatar
David Koníček:16. ledna 7:16

Ahoj kluci, můžete mi prosím poradit s touto chybou? Objeví se po vytvoření daného .htaccessu a spuštění projektu. Nevím si s tím rady :(

Odpovědět 16. ledna 7:16
Věř, běž a dokážeš!
Avatar
Odpovídá na David Koníček
David Koníček:16. ledna 7:51

Už v pořádku...nějak jsem přesouval projekt a nastala tam chyba..Můžete případně tyto komentáře smazat, díky :)

Odpovědět 16. ledna 7:51
Věř, běž a dokážeš!
Avatar
Jan Bartík
Člen
Avatar
Jan Bartík:15. března 13:35

Zdarec prosím o radu všechno jsem udělal dle návodu a vyskočila tahle obrazovka nevím co to po mě chce ... :/

Odpovědět 15. března 13:35
Janko
Avatar
Odpovídá na Jan Bartík
Dominik Gavrecký:15. března 13:45

Použi nette checker ... Každopádne na zložku log zmeň práva na 777

Odpovědět  +1 15. března 13:45
Hlupák nie je ten kto niečo nevie, hlupákom sa stávaš v momente keď sa na to bojíš opýtať.
Avatar
Jan Bartík
Člen
Avatar
Odpovídá na Dominik Gavrecký
Jan Bartík:15. března 13:57

jaha změnil jsem práva a už to šlape :) ....Děkuju :)

Odpovědět 15. března 13:57
Janko
Avatar
Jan Bartík
Člen
Avatar
Odpovídá na Dominik Gavrecký
Jan Bartík:15. března 13:59

Ještě k tomu checkeru tady je foto a píše mě to že nemam mod_rewrite ale přitom to neni pravda co by to mohlo znamenat ? :/

Editováno 15. března 13:59
Odpovědět 15. března 13:59
Janko
Avatar
Jan Bartík
Člen
Avatar
Jan Bartík:15. března 14:00

...

Odpovědět 15. března 14:00
Janko
Avatar
Odpovídá na Jan Bartík
Ondřej Langr (andysekcze):15. března 14:12

koukni do nastavení PHP, pokud to máš nastavené pravdivou hodnotu (Yes || 1 || true || něco takového), tak je to divné. Popř. zkus normální(cokoliv) projekt a buď a nebo :D

Odpovědět 15. března 14:12
I have a charger. I have Note 7. Umh I haven't Note7.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 25. Zobrazit vše