JavaScript
- 22 ответа
- 0 вопросов
37
Вклад в тег
<?php
# Author - Fedor Vlasenko, vlasenkofedor@gmail.com
define('METHOD', $_SERVER['REQUEST_METHOD']);
define('URI', parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH));
function router($url, ...$args)
{
(empty($args[1]) || false !== strpos(METHOD, $args[0]))
&& (URI === $url || preg_match('#^' . $url . '$#iu', URI, $match))
&& die(call_user_func_array(end($args), $match ?? []));
}
router('/api/games', 'GET', function () {
echo 'список игрушек';
});
router('/api/game/(\d+)', 'GET', function (...$args) {
echo 'информация о игрушке: ', $args[1];
});
router('/api/games', 'POST', function () {
echo 'добавить новую игрушку';
});
router('/api/games/(\d+)', 'PUT', function (...$args) {
echo 'обновить существующую игрушку: ', $args[1];
});
router('/api/games/(\d+)', 'DELETE', function (...$args) {
echo ' удалить игрушку: ', $args[1];
});
header($_SERVER['SERVER_PROTOCOL'] . ' 404 Not Found');
echo '404';