Inštalácia
Aplikácia DotApp sa neinštaluje štandardným spôsobom cez composer install, pretože to nie je knižnica, ale kompletná aplikácia s vlastnou architektúrou. Namiesto toho postupujte podľa týchto krokov:
1. Nainštalujte aplikáciu pomocou Git:
git clone https://github.com/dotsystems-sk/dotapp.git ./
Tento príkaz naklonuje repozitár do aktuálneho adresára.
Prípadne si môžete stiahnuť súbor ZIP:
Rozbaľte ho do adresára, kam potrebujete aplikáciu umiestniť.
2. Nastavenie a použitie:
Po naklonovaní alebo rozbalení aplikáciu nakonfigurujte podľa svojich potrieb (napr. konfigurácia databázy, nastavenia prostredia a pod.).
3. Použitie Composeru:
Hoci samotnú aplikáciu nie je možné nainštalovať cez Composer, po inštalácii môžete v adresári aplikácie použiť Composer na pridanie ďalších závislostí, ktoré váš projekt potrebuje. Stačí spustiť:
composer require
Štruktúra adresárov. Aplikačná logika žije v app/modules/{ModuleName}/. app/parts/ je jadro frameworku.
project-root/
├── index.php # front controller
├── dotapper.php
├── app/
│ ├── config.php # secrets, databases, drivers
│ ├── modules/ # your modules
│ │ └── HelloWorld/
│ │ ├── module.init.php
│ │ ├── module.listeners.php
│ │ ├── Controllers/
│ │ ├── Middleware/
│ │ ├── Models/
│ │ ├── views/
│ │ └── assets/
│ ├── parts/ # framework core — do not edit
│ ├── runtime/
│ └── vendor/
└── assets/
└── modules/ # public files served from each module's assets/
Nastavenie po inštalácii
Táto časť popisuje minimálne nastavenie potrebné po inštalácii frameworku DotApp. Ak nepotrebujete pracovať s databázami alebo uprednostňujete vlastné riešenie pred vstavanou knižnicou, stačí postupovať podľa týchto krokov:
1. (Voliteľné) Prepíšte __ROOTDIR__ v index.php
Predvolene index.php nastaví __ROOTDIR__ na vlastný adresár. Definujte ho iba vtedy, keď je koreň aplikácie niekde inde (bez koncového lomítka):
define('__ROOTDIR__', "/var/www/html");
Uistite sa, že __ROOTDIR__ zodpovedá skutočnému umiestneniu na serveri, inak framework nemusí fungovať správne.
2. Nastavte jedinečný šifrovací kľúč v ./app/config.php
Config::set("app", "name", "MyApp");
Config::set("app", "c_enc_key", "ReplaceThisWithALongRandomSecret");
$dotApp = new \Dotsystems\App\DotApp();
Použite jedinečné, dlhé tajomstvo (aspoň 32 znakov). Do konštruktora DotApp neposielajte md5(...).
3. (Voliteľné) Databáza — odkomentujte a vyplňte vzor v ./app/config.php
use Dotsystems\App\Parts\Config;
if (!__MAINTENANCE__) {
Config::addDatabase(
"main",
"127.0.0.1",
"username",
"password",
"dbname",
"UTF8",
"MYSQL",
"pdo"
);
}
$dotApp = new \Dotsystems\App\DotApp();
$dotApp->load_modules();
Spustenie frameworku
Po tom, ako app/config.php načíta moduly, index.php spustí aplikáciu. Trasy sa deklarujú v module.init.php každého modulu. Volanie na spustenie je:
// Everything ready? Start the framework! - As seen in the index.php file
$dotApp->davajhet();
// or in English:
$dotApp->run();
/*
Note: $dotApp->davajhet() is an alias for $dotApp->run().
I come from eastern Slovakia, so I added a bit of our "davaj het!" (let's go!)
*/
Pridanie prvej trasy
Prázdna stránka a ERROR 404?
Ak ste postupovali podľa pokynov a po spustení vidíte prázdnu stránku so stavovým kódom 404, nemajte obavy. Je to logické. Router je prázdny, takže nenašiel trasu pre adresu / vo vašom prehliadači a správne zobrazil 404.
Váš framework zatiaľ nemá moduly ani trasy, takže robí to, čo má. Prvú trasu pridajte v metóde initialize() modulu.
<?php
// app/modules/HelloWorld/module.init.php
namespace Dotsystems\App\Modules\HelloWorld;
use Dotsystems\App\Parts\Router;
class Module extends \Dotsystems\App\Parts\Module
{
public function initialize($dotApp)
{
Router::get("/", function ($request) {
return "Hello World!";
}, Router::STATIC_ROUTE);
}
public function initializeRoutes()
{
return ['/', '/*'];
}
}
new Module($dotApp);
Po spustení sa zobrazí stránka s obsahom: