Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗ppSpAiRs 52 of 83 menu
◀ ▶

REST API in PHP

Esistono approcci speciali che standardizzano le API per la comodità generale sia degli sviluppatori delle API, sia dei loro utenti.

Uno di questi approcci è REST API. La sua idea fondamentale è che per le operazioni CRUD è necessario utilizzare vari metodi del protocollo HTTP.

Per ottenere dati - il metodo GET, per creare dati - il metodo POST, per modificare dati - il metodo PUT, per eliminare dati - il metodo DELETE.

Ad esempio, consideriamo una certa API che manipola gli utenti. Diamo un'occhiata a come appariranno gli URL per varie azioni.

Ottenere tutti gli utenti:

GET http://api.loc/users/

Ottenere un utente tramite il suo id:

GET http://api.loc/user/1/

Creare un utente:

POST http://api.loc/user/

Modificare un utente tramite il suo id:

PUT http://api.loc/user/1/

Eliminare un utente tramite il suo id:

DELETE http://api.loc/user/1/

Diamo un'occhiata a come REST API viene implementato in PHP. C'è un piccolo problema qui. Il fatto è che sia PHP che CURL supportano solo i metodi GET e POST:

<?php $method = $_SERVER['REQUEST_METHOD']; var_dump($method); // solo GET e POST ?>

Pertanto, per implementare REST API, dovremo ricorrere a un trucco. L'essenza di questo trucco è che in realtà i dati verranno trasmessi solo tramite i metodi GET e POST, ma noi simuleremo il funzionamento di altri metodi tramite un'intestazione HTTP personalizzata. Chiamiamola, ad esempio, HTTP-X-HTTP-METHOD.

Quindi potremo ottenere il contenuto di questa intestazione nel modo seguente:

<?php $method = $_SERVER['HTTP-X-HTTP-METHOD']; ?>

Ora possiamo scrivere l'implementazione dell'API:

<?php $method = $_SERVER['HTTP-X-HTTP-METHOD']; switch ($method) { case 'GET': // ... break; case 'POST': // ... break; case 'PUT': // ... break; case 'DELETE': // ... break; } ?>

Implementare una REST API per i prodotti di un negozio online.

Verificare il funzionamento dell'API implementata utilizzando la libreria CURL.

← →
↑
Italiano▼
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta