65 lines
2.3 KiB
PHP
Raw Normal View History

2018-05-02 11:01:38 +02:00
<?php
declare(strict_types=1);
use Psr\Container\ContainerInterface;
use Zend\Expressive\Application;
use Zend\Expressive\MiddlewareFactory;
/**
* Setup routes with a single request method:
*
* $app->get('/', App\Handler\HomePageHandler::class, 'home');
* $app->post('/album', App\Handler\AlbumCreateHandler::class, 'album.create');
* $app->put('/album/:id', App\Handler\AlbumUpdateHandler::class, 'album.put');
* $app->patch('/album/:id', App\Handler\AlbumUpdateHandler::class, 'album.patch');
* $app->delete('/album/:id', App\Handler\AlbumDeleteHandler::class, 'album.delete');
*
* Or with multiple request methods:
*
* $app->route('/contact', App\Handler\ContactHandler::class, ['GET', 'POST', ...], 'contact');
*
* Or handling all request methods:
*
* $app->route('/contact', App\Handler\ContactHandler::class)->setName('contact');
*
* or:
*
* $app->route(
* '/contact',
* App\Handler\ContactHandler::class,
* Zend\Expressive\Router\Route::HTTP_METHOD_ANY,
* 'contact'
* );
*/
return function (Application $app, MiddlewareFactory $factory, ContainerInterface $container) : void {
$app->get('/', App\Handler\HomePageHandler::class, 'home');
$app->get('/api/ping', App\Handler\PingHandler::class, 'api.ping');
2018-05-11 10:46:00 +02:00
$app->get('/api/years', App\Handler\Api\YearsHandler::class, 'api.years');
$app->route(
'/api/judge[/{id:\d+}]',
App\Handler\Api\JudgesHandler::class,
['GET','POST','PUT','DELETE'],
'api.judges'
);
$app->route(
'/api/awardee[/{id:\d+}]',
App\Handler\Api\AwardeeHandler::class,
['GET','POST','PUT','DELETE'],
'api.awardees'
);
2018-05-06 13:53:46 +02:00
$app->get('/the-prize', App\Handler\PrizeRedirectHandler::class, 'the-prize');
$app->get(
'/the-prize/{article:background-and-purpose|description-and-values|aspects-for-selection|gran-prize-award-events}',
2018-05-06 13:53:46 +02:00
App\Handler\ArticleHandler::class,
'the-prize.article'
);
2018-05-02 11:01:38 +02:00
// $app->get('/judges', App\Handler\JudgesHandler::class, 'judges');
$app->get('/awards', App\Handler\AwardeeRedirectHandler::class, 'awardees');
$app->get('/awards/{year:\d+}', App\Handler\AwardeeHandler::class, 'awardees-by-year');
2018-05-06 13:53:46 +02:00
$app->get('/awardee/{slug}', App\Handler\ProfileHandler::class, 'awardee');
2018-05-02 11:01:38 +02:00
};