Сообщение от Malleys
|
отличать POST-запросы
|
Метод, и путь этим занимается роутинг.
Именно он определяет действия при том и инном path and methods
Примеров роутинга полно. Каждый соаременный фреймворк имеет свой роутинг обычно работающий с query, path, methods, database, yaml, json, ini ...
самый простой роутинг на php7
<?php
# Author - Fedor Vlasenko, vlasenkofedor@mail.ru php 7
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('/', function () {
echo 'Index page';
});
router('/article/(.*[^/])', 'GET', function (...$args) {
echo 'Article: ', $args[1];
});
header($_SERVER['SERVER_PROTOCOL'] . ' 404 Not Found');
echo '404';
по сути более понятно было, чтобы вы не писали магию и взависимости от заголовков отдавали ответ
а прямо в (пути, query, параметрах) указывали тип ответа
person, person-xml, person?type=xml