30 lines
862 B
PHP
30 lines
862 B
PHP
<?php declare(strict_types=1);
|
|
|
|
use Controllers\TaskController;
|
|
use DI\Bridge\Slim\Bridge;
|
|
use DI\Container;
|
|
use Controllers\HomeFrontController;
|
|
use Slim\Handlers\Strategies\RequestResponseArgs;
|
|
|
|
require_once __DIR__ . '/vendor/autoload.php';
|
|
|
|
$container = new Container();
|
|
$app = Bridge::create($container);
|
|
$app->addBodyParsingMiddleware();
|
|
|
|
// this strategy is preferable because we aren't using a lot of named placeholders
|
|
$routeCollector = $app->getRouteCollector();
|
|
$routeCollector->setDefaultInvocationStrategy(new RequestResponseArgs());
|
|
|
|
|
|
$app->get('/', [HomeFrontController::class, 'home']);
|
|
|
|
|
|
$app->get('/tasks/{id}', [TaskController::class, 'getTask']);
|
|
$app->delete('/tasks/{id}', [TaskController::class, 'delete']);
|
|
|
|
$app->get('/tasks', [TaskController::class, 'getTasks']);
|
|
$app->post('/tasks', [TaskController::class, 'addTask']);
|
|
|
|
|
|
$app->run(); |