- Aplikace
- Databáze
- Šablony
- Formuláře
- Knihovny
- Návody
Aplikace
Celá aplikaci začíná souborem index.php. V něm jednoduše
vytvoříte instancí objektu Application, pak provedete routing a
aplikaci spustíte. Tím končí úloha index.php. Dále aplikace
vytvoří dle routingu potřebný controller, zavolá jeho motodu (=action,
akci) s argumenty.
Vytvoření aplikace
Konstruktor obsahuje dva nepovinné argumenty.
- Umístění
appadresáře – adresář s vlastní aplikací - Umístění konfiguračního souboru
Nejbezpečnější řešení je mít aplikační adresář úplně mimo
webroot. Bohužel, ne každný má placený webhosting a na těch free tato
možnost vůbec nebývá. Proto defaultní nastavení je /app, tedy
složka app umístěná ve webrootu.
Pokud adresář aplikace neleží mimo webroot, je nunté do
něj soubor .htaccess (Deny from all), který zakáže
přístup z webu.
Druhý argument je také nepovinný. Pomocí něj určité cestu ke
konfiguračnímu souboru. Tato cesta je relativní, vycházející
z umístění aplikačního adresáře (/app).
Spuštění aplikace
Po vytvoření instance aplikace musíte provést routing, případně zapnout AutoLoader. Pak už zbývá aplikaci pouze spustit pomocí
metody run().
require 'haefko/loader.php';
$application = new Application('/../apps/my-eshop/app');
$application->autoload();
$router = $application->getRouter();
$router->connect( ... );
$application->run();
Možnosti konfiguračního souboru
V situaci, kdy nemáte vytvořen konfigurační soubor, nebo jej chcete pojmenovat jinak, musíte jeho jméno a umístění definovat pomocí druhého argumentu konstruktoru.
# konfiguracni soubor je uplne nekde jinde
$app = new Application('/app', '/../config/path/conf.yml');
# vypneme nacitani konfiguracniho souboru
$app = new Application('/app', false);
Pokud vypneme konfiguraci pomocí souboru, již není možné některá nastavení později změnit. Pokud je přesto definovat, musíte tak učinit před vytvořením instance aplikace.
require 'haefko/loader.php';
Config::write('cache.storage.path', 'my/path');
$application = new Application('/app', false);
...
