Comments 17
Как наcчет guzzle? Одна из самых популярных в PHP?
guzzle is HTTP client.
А здесь обертка над "$_GET, $_POST и $_REQUEST" и даже зачем-то используется php://input из которого анализируется json строка.
А здесь обертка над "$_GET, $_POST и $_REQUEST" и даже зачем-то используется php://input из которого анализируется json строка.
А, кажется я поторопился, и не так понял назначение пакета. Это скорее про http сервер. Ну ок. В любом случае, уверен, что готовые пакеты есть. Оттестированные и широко используемые. Я не то, чтобы против велосипедов. Просто несколько странно читать, что на такой популярный кейс «не нашлось пакетов»
Тоже первым делом об этой компоненте подумал)
ErickSkrauch, спасибо за наводку!
С разморозкой. На дворе 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()
.github.com/symfony/symfony/blob/master/src/Symfony/Component/HttpFoundation/Request.php#L1135
Где тесты?
if(Request::isPost() !== false)
это очень сильно
Сегодня выгодно зубрить фреймворки, а не писать что-то свое.
Не торопитесь.
Sign up to leave a comment.
Ещё один велосипед: простая библиотека для работы с HTTP-запросами