Nette Framework Quick Start II.
Projekt nazveme třeba DataGrid a vytvoříme pro něj
jednoduchou adresářovou strukturu:
DataGrid/
app/
document_root/
index.php
css/
images/
libs/
Adresář document_root by měl být přímo dostupný
z vašeho webového serveru.
Nyní si stáhněte poslední verzi
Nette Framework a rozbalte ji do adresáře určeného pro knihovny projektu,
tedy DataGrid/libs (tak, aby se soubor loader.php
nacházel na cestě DataGrid/libs/Nette/loader.php). Tím je Nette
Framework nainstalován a připraven k použití!
Poznámka: Nette vám nenutí, jakou adresářovou strukturu máte používat, můžete klidně zvolit jinou.
Soubor index.php
Všechny požadavky na naši webovou aplikaci budou směřované do souboru
DataGrid/document_root/index.php. Pokud patříte mezi zkušené
programátory, nejspíš víte, že teď by mělo přijít na řadu
nastavování pravidel mod_rewrite. Nette je však výjimečné
tím, že dovolí odložit úvahy nad podobou URL až na později. Třeba až na
okamžik, kdy bude celý projekt hotový. Volba tvaru URL pro celou aplikaci pak
bude otázkou jen drobného zásahu na jednom místě.
Zkuste si do souboru index.php napsat třeba <?php echo
'Hello World'; ?> a ověřte, že jej lze ve vašem prohlížeči
otevřít. Pokud je vše v pořádku, můžete pozdrav světu nahradit
tímto kódem:
<?php
// absolute filesystem path to the web root
define('WWW_DIR', dirname(__FILE__));
// absolute filesystem path to the application root
define('APP_DIR', WWW_DIR . '/../app');
// absolute filesystem path to the libraries
define('LIBS_DIR', WWW_DIR . '/../libs');
// load bootstrap file
require APP_DIR . '/bootstrap.php';
Definice uvedených konstant opět není požadavkem Nette Frameworku, jde
pouze o užitečnou zvyklost. Když se totiž složka s aplikací nebo
knihovnami přesune, bude stačit změnit jednu cestu v souboru
index.php.
Na konci se předává řízení souboru
DataGrid/app/bootstrap.php. Tím se dostáváme ke složce
app, kde budou uloženy všechny soubory naší aplikace. To
mimochodem představuje jednu z best practice vývoje aplikací
v Nette – z bezpečnostních důvodů jsou skripty umístěny
v odděleném adresáři, který je nedostupný z prohlížeče.
Vytvořte si ve složce app tuto strukturu:
DataGrid/
app/
models/
presenters/
temp/ <-- musí mít povoleno právo zápisu
templates/
bootstrap.php
document_root/
...
libs/
Nette/
...
A tím se dostáváme k souboru bootstrap.php
Soubor bootstrap.php
Jedná se o zaváděcí soubor celé aplikace. Vytvořte si tedy soubor
DataGrid/app/bootstrap.php s tímto obsahem:
<?php
// Step 1: Load Nette Framework
// this allows Nette to load classes automatically so that
// you don't have to litter your code with 'require' statements
require_once LIBS_DIR . '/Nette/loader.php';
// Step 2: Enable Nette\Debug
// for better exception and error visualisation
Debug::enable();
// Step 3: Get the front controller
$application = Environment::getApplication();
// Step 4: Run the application!
$application->run();
Zaváděcí soubor bootstrap.php má za úkol nastavit
prostředí aplikace a spustit ji. Jak vidíte, zatím si vystačíme se
zapnutím debuggeru, který bude
užitečným pomocníkem při dalším programování.
Aplikace začíná získávat konkrétní tvar a nám zbývá poslední krůček k jejím spuštění v prohlížeči.
