Treci la conținutul principal

Cealaltă parte a API-ului

Scripturile PHP nu sunt doar servere — ele apelează și API-uri: aduc date, vorbesc cu servicii, integrează terți. Clientul încorporat este file_get_contents cu un context de flux: singur, URL-ul face un GET simplu, iar contextul adaugă metode, anteturi și un corp. Trei obiceiuri:

1. pune ignore_errors în context, ca răspunsurile 4xx și 5xx să îți dea totuși corpul lor,
2. verifică codul de stare — prima linie din $http_response_header — înainte să te încrezi în corp,
3. decodifică corpul cu json_decode și verifică dacă e null înainte de a folosi datele.

(PHP vine și cu extensia cURL pentru lucru avansat de client; tot ce e aici are nevoie doar de fluxurile încorporate.) Demonstrațiile de mai jos apelează un server de test local, așa că ieșirile sunt stabile — codul clientului este exact cel pe care l-ai îndrepta către un URL real.


GET și decodificare

Sarcina de zi cu zi: faci GET pe un URL, verifici starea, decodifici corpul JSON în tablouri cu json_decode($body, true) — de acolo încolo sunt date PHP obișnuite.

Aducerea unei liste în tablouri

Corpul răspunsului se decodifică într-o listă de utilizatori, iar de acolo încolo sunt date PHP obișnuite — parcurse în buclă și afișate câmp cu câmp.

Prompt
Scrie un script PHP care face GET pe un tablou JSON de utilizatori de la un server (în demonstrație, un server local încorporat), verifică codul de stare din $http_response_header, decodifică corpul cu json_decode și afișează id-ul și numele fiecărui utilizator.
Ieșire: script PHP

POST cu un corp JSON

Trimiterea datelor este imaginea în oglindă: codifici tabloul, îl pui în context ca content împreună cu antetul Content-Type potrivit, faci POST — apoi decodifici răspunsul serverului, care aici aduce id-ul atribuit de server.

Trimite un tablou, citește răspunsul

Tabloul pleacă sub formă de JSON și înregistrarea creată se întoarce cu noul său id — întreaga cale de scriere a unui client de API într-un singur program mic.

Prompt
Scrie un script PHP care codifică un utilizator nou în JSON și îl trimite prin POST, printr-un context de flux cu tipul de conținut application/json, către un server care atribuie un id și răspunde cu 201 (în demonstrație, un server local încorporat), apoi decodifică răspunsul și afișează starea și utilizatorul creat cu noul său id.
Ieșire: script PHP