Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
С разморозкой. На дворе 2020 год. Все люди пользуются PSR-7 https://www.php-fig.org/psr/psr-7/. И вам советую, раз уж знаете про composer, потрудитесь поискать готовые библиотеки, а не писать велосипеды.
public static function isPost() : bool {
$result = false;
if($_POST) {
$result = true;
}
return $result;
}
return $_SERVER['REQUEST_METHOD'] == 'POST';Проверка метода
$_SERVER['REQUEST_METHOD']Получение ключей
array_keys($_REQUEST)isset($_REQUEST['some-key'])Получение значений
$_GET, $_POST, $_REQUESTСырые запросы (php://input)
$_POST = json_decode(file_get_contents('php://input'));
$_REQUEST = array_merge($_GET, $_POST, $_COOKIE);GetAllHeaders() — получение всех заголовков.
apache_request_headers()GetHostName() — получение имени хоста
$_SERVER['SERVER_NAME']gethostname()isHttps() — проверка на https
$_SERVER['HTTPS']!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off'GetUserAgent() — получение юзер-агента. Кому-то это бывает важно.
$_SERVER['HTTP_USER_AGENT']isHttps() — проверка на httpsВ общем случае простой проверки протокола недостаточно. Входящий запрос может передаваться через внутренний прокси сервер без HTTPS поэтому для конечного приложения этот метод всегда будет возвращать false. В Симфони есть более практичный метод
isSecure().Где тесты?
if(Request::isPost() !== false)
это очень сильно
Сегодня выгодно зубрить фреймворки, а не писать что-то свое.
Не торопитесь.
Ещё один велосипед: простая библиотека для работы с HTTP-запросами