Treci la conținutul principal

Serverul rulează scriptul tău

PHP întoarce pe dos servirea paginilor web față de majoritatea limbajelor: nu scrii un server care rulează la nesfârșit — serverul web rulează scriptul tău, o dată pentru fiecare cerere. Scriptul este handlerul: superglobale precum $_SERVER și $_GET conțin cererea, iar header() plus echo construiesc răspunsul.

PHP vine cu propriul server web pentru dezvoltare: php -S host:port router.php răspunde la fiecare cerere rulând acel unic script. Exemplele de aici îl rulează cu adevărat: fiecare își scrie scriptul de handler într-un fișier temporar, pornește php -S pe un port liber ca proces copil, îi trimite cereri HTTP reale, afișează răspunsurile și oprește serverul — așa că fiecare exemplu rulează și se încheie de la sine.


Un prim handler

Cel mai mic script de handler posibil scrie o linie de text. Tot ce face un API — JSON, coduri de status, rutare — se întâmplă în interiorul aceleiași forme: cererea intră, ieșirea se afișează cu echo.

Salut de la un handler

Scriptul de handler afișează o singură linie; clientul citește exact acea linie ca corp al răspunsului, cu statusul 200 OK completat automat.

Prompt
Scrie un script PHP cu cel mai mic script de handler care afișează o linie de salut. Servește-l cu serverul web încorporat în PHP pe un port liber, trimite o singură cerere GET și afișează statusul și corpul răspunsului, apoi oprește serverul.
Ieșire: script PHP

Răspunsul în JSON

Un handler de API face trei lucruri: setează antetul Content-Type, alege un cod de status și codifică datele — mai întâi header(), apoi echo json_encode($value).

Ordinea contează: antetele trebuie trimise înainte de primul octet al corpului.

Un endpoint JSON

Handlerul codifică un tablou direct în răspuns. Clientul primește JSON valid și tipul de conținut corect — acesta este scheletul fiecărui endpoint din restul acestui grup.

Prompt
Scrie un script PHP al cărui handler răspunde cu un tablou de utilizator codificat în JSON, setând antetul Content-Type cu header() înainte de a afișa ceva. Servește-l cu serverul încorporat, cere-l și afișează statusul, tipul de conținut și corpul JSON.
Ieșire: script PHP