Pull to refresh

Comments 17

Как наcчет guzzle? Одна из самых популярных в PHP?
guzzle is HTTP client.
А здесь обертка над "$_GET, $_POST и $_REQUEST" и даже зачем-то используется php://input из которого анализируется json строка.
А, кажется я поторопился, и не так понял назначение пакета. Это скорее про http сервер. Ну ок. В любом случае, уверен, что готовые пакеты есть. Оттестированные и широко используемые. Я не то, чтобы против велосипедов. Просто несколько странно читать, что на такой популярный кейс «не нашлось пакетов»

С разморозкой. На дворе 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';
К тому же если массив $_POST пустой, этот метод вернёт false даже в случае post запроса.
isGet тоже неправильный. Потому что при post запросах массив $_GET вполне может быть не пустой.
Проверка метода
$_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

Сегодня выгодно зубрить фреймворки, а не писать что-то свое.
Не торопитесь.

@gluck69, согласен, но считаю, что одно другому не мешает. По крайней мере, если бы я не написал этот пост, то не открыл бы для себя компонент http-foundation от symfony. Да и вообще начал приглядываться к этому фреймворку детальнее
Ramapriya воспользуйтесь комментариями чтобы улучшить свою библиотеку, это для вас хороший опыт.
iiifx, да, я уже сижу думаю, как её модернизировать )
Sign up to leave a comment.

Articles