PHP 8.4 prináša funkciu request_parse_body

31. 10. 2024

Sdílet

PHP kód Autor: Depositphotos

V najnovšej verzii PHP 8.4, ktorá vyjde teraz v novembri, nájdeme novú funkciu request_parse_body.

Pri posielaní formulárov PHP automaticky napĺňa dátami tzv. superglobálne premenné $_POST a $_FILES. Toto sa však deje len pri POST požiadavkách. Nová funkcia request_parse_bo­dy aj pre PUT a PATCH požiadavky.

Novú funkciu si môžeme vyskúšať pomocou preddefinovaného Docker obrazu.

$ docker pull php:8.4.0RC3-zts-alpine3.20

Spustíme si obraz v interaktívnom móde. Namapujeme si port 8080 z daného Docker obrazu na port v našom operačnom systéme.

$ docker run -it -p 127.0.0.1:8080:8080/tcp --entrypoint /bin/sh 088532e963c0

Presunieme sa do domovského adresára kde si pomocou vi vytvoríme jednoduchý PHP script.

$ cd /home
$ vi test.php
<?php

[$_POST, $_FILES] = request_parse_body();

foreach($_POST as $key => $value)
    echo "$key: $value";

Spustíme si lokálny PHP server.

$ php -S 0.0.0.0:8080 test.php &

Nakoniec pomocou nástroja httpie vygenerujeme PUT požiadavku. Požiadavku spúšťame z terminálu v našom domovskom operačnom systéme.

$ http -f PUT 127.0.0.1:8080 message="hello there"
HTTP/1.1 200 OK
Connection: close
Content-type: text/html; charset=UTF-8
Date: Thu, 31 Oct 2024 09:08:12 GMT
Host: 127.0.0.1:8080
X-Powered-By: PHP/8.4.0RC3

message: hello there

Tato zprávička byla zaslána čtenářem serveru Root.cz pomocí formuláře Přidat zprávičku. Děkujeme!

Našli jste v článku chybu?

Autor zprávičky