Domanda

Sto sviluppando la mia libreria PHP e vorrei chiamare i servizi web RESTful dalla mia API. Questo può essere fatto in PHP e, in caso affermativo, quali sono le basi per farlo?

È stato utile?

Soluzione

Poiché REST è l'applicazione degli stessi metodi del protocollo HTTP alla progettazione di architetture client-server e PHP è già così buono da gestire richieste di protocollo HTTP come GET e POST. PHP è particolarmente adatto per facilitare lo sviluppo di servizi REST.

Ricorda che REST è l'applicazione degli stessi pattern http già esistenti.

Quindi se attualmente hai un'applicazione che fa qualcosa del tipo:

  1. Modulo HTML
  2. Processo PHP
  3. Output HTML in una tabella

Quindi per renderlo REST è necessario:

  1. Accetta i parametri dal Web. Questo è facile poiché riceverai i parametri come get o post ... quindi è sostanzialmente lo stesso.
  2. Processo PHP
  3. Output in JSON o XML . E questo è tutto!

    È abbastanza facile.

Ora la parte difficile è rendere la tua API (le funzioni e gli URL) che genererai per essere programmabile.

In tal caso ti suggerisco di guardare le API di flickr come esempio è molto sviluppatore amichevole facile da indovinare e ha una buona documentazione.

Per maggiori informazioni sulle API, guarda questa presentazione: Come progettare una buona API e amp; Perché è importante (Joshua Bloch)

Infine, un'API RESTful dovrebbe implementare anche i metodi PUT e DELETE del protocollo http quando ha senso

Ad esempio se hai avuto un'azione di eliminazione nella tua API, detto servizio dovrebbe ricevere il metodo di eliminazione dal protocollo http. Invece della cosa più comune di inviare un parametro di azione come parte di una richiesta di post.

Modifica: sostituito " Php è resto per impostazione predefinita " con " Dato che REST è l'applicazione degli stessi metodi del protocollo HTTP alla progettazione di architetture client-server e PHP è già così buono da gestire richieste di protocollo HTTP come GET e POST. PHP è particolarmente adatto per facilitare lo sviluppo di servizi REST. & Quot;

E ho anche aggiunto la nota finale che dovresti implementare i metodi PUT o DELETE appropriati quando quell'azione ha senso per il tuo api.

Altri suggerimenti

Potresti voler leggere questo articolo e il seguito: http: //www.gen-x -design.com/archives/create-a-rest-api-with-php/

La tua domanda è molto aperta, quindi questo tutorial potrebbe essere il miglior punto di partenza.

Il link sopra non funziona più, quindi dai un'occhiata a questo tutorial:

http: // net. tutsplus.com/tutorials/other/a-beginners-introduction-to-http-and-rest/

Ho sviluppato una classe che è l'equivalente REST della classe SoapServer nativa di PHP.

Devi solo includere il file RestServer.php e poi usarlo come segue.

class Hello
{
  public static function sayHello($name)
  {
    return "Hello, " . $name;
  }
}

$rest = new RestServer(Hello);
$rest->handle();

Quindi puoi effettuare chiamate in questo modo:

http://myserver.com/path/to/api?method=sayHello&name=World

(Notare che non importa in quale ordine vengono forniti i parametri nella stringa di query. Inoltre, i nomi delle chiavi param e il nome del metodo non fanno distinzione tra maiuscole e minuscole.)

Non posso far male a tornare a la fonte originale di il termine REST e assicurati di capire cosa significa.

Se stai pensando al lato client delle cose, suggerirei di controllare il PEST di Matt Sukowski.

Troverai il repository su GitHub: https://github.com/educoder/pest

Dai un'occhiata anche a questa discussione: Client PHP REST

Aggiornamento 2013/12/13:
Questo è un progetto open source dal vivo, Matt Sukowsky l'ha consegnato ai nuovi custodi quest'estate perché non sentiva di poter risparmiare abbastanza tempo, e da allora ci sono stati un sacco di impegni. Quindi Pest è meglio che mai per fare Riposo in PHP :)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top