You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
27 lines
1.0 KiB
27 lines
1.0 KiB
<?php
|
|
|
|
use Silex\Router\Router;
|
|
|
|
require __DIR__ . '/../src/Silex/Config/SplClassLoader.php';
|
|
require __DIR__ . '/../src/Silex/Config/Config.php';
|
|
|
|
$loader = new SplClassLoader('Silex', __DIR__ . '/../src');
|
|
$loader->register();
|
|
|
|
$security = new \Silex\Controller\SecurityController();
|
|
$user = new \Silex\Controller\UserController();
|
|
$admin = new \Silex\Controller\AdminController();
|
|
$router = new Router($_SERVER['REQUEST_URI']);
|
|
$router->get('/^$/', [$user, 'index']);
|
|
$router->get('/^recent\/(?<page>\d+)$/', [$user, 'index']);
|
|
$router->get('/^news\/(?<id>\d+)$/', [$user, 'viewPost']);
|
|
$router->get('/^comments\/(?<id>[\w-]+)$/', [$user, 'viewPostComments']);
|
|
$router->match('/^login$/', [$security, 'login']);
|
|
$router->match('/^register$/', [$security, 'register']);
|
|
$router->match('/^logout$/', [$security, 'logout']);
|
|
$router->match('/^admin\/publish$/', [$admin, 'publish']);
|
|
$router->match('/^admin\/edit\/(?<id>\d+)$/', [$admin, 'edit']);
|
|
|
|
$di = new \Silex\DI\DI($router);
|
|
$router->run($di)->render($di, __DIR__ . '/../' . VIEW_PATH);
|