set('DEBUG', 3); // development debug $f3->config('../app/.env.cfg'); $f3->set('DB', new \DB\SQL( 'mysql:host=localhost;port=3306;dbname=' . $f3->get('database.db_name'), $f3->get('database.username'), $f3->get('database.password') )); new \DB\SQL\Session($f3->get('DB')); $f3->set('SESSION.status', 'running'); // Routing and Controller Setup // home $f3->route('GET /', 'HomeController->display'); // auth $f3->route('GET /login', 'AuthController->showLoginForm'); $f3->route('POST /login', 'AuthController->login'); $f3->route('GET /logout', 'AuthController->logout'); // Example protected route $f3->route('GET /dashboard', function($f3){ if(!$f3->exists('SESSION.user')){ $f3->reroute('/login'); } echo 'Welcome to the dashboard' . $f3->get('SESSION.username'); echo 'logout'; }); // tickets - CRUD (CREATE, READ, UPDATE, DELETE) $f3->route('GET /tickets', 'TicketController->index'); // view all tickets $f3->route('GET /ticket/@id', 'TicketController->view'); // view ticket details $f3->route('GET /ticket/create', 'TicketController->createForm'); // show form to create $f3->route('POST /ticket/create', 'TicketController->create'); // save $f3->route('GET /ticket/@id/edit', 'TicketController->editForm'); // edit ticket $f3->route('POST /ticket/@id/update', 'TicketController->update'); // // knowledgebase $f3->route('GET /kb', 'KB->list'); $f3->route('GET /kb/create', 'KB->create'); $f3->route('GET /kb/@id', 'KB->read'); $f3->route('GET /kb/@id/edit', 'KB->edit'); $f3->route('POST /kb/@id/edit', 'KB->update'); // tags $f3->route('GET /tags', 'Tag->list'); $f3->route('POST /tag/create', 'Tag->create'); $f3->route('GET /dashboard', 'DashboardController->index'); $f3->run();