Quando si tratta di fare richieste remote nel contesto di siti Web, applicazioni web e persino progetti basati su WordPress, il modello che seguiamo è generalmente lo stesso:
Questo particolare formato è lo stesso utilizzato in entrambe le funzionalità sincrone e asincrone (o basate su Ajax). Il fatto è che se stai costruendo un'applicazione web standard usando PHP, Rails, Java, .NET o qualsiasi altra piattaforma, allora ognuno di essi ha i propri modi per farlo.
Lo stesso vale per WordPress; tuttavia, se stai lavorando con WordPress, stai lavorando anche con PHP, il che significa che potresti sfruttare le funzioni di PHP piuttosto che le specifiche API di WordPress.
In questa serie in quattro parti, daremo un'occhiata a cosa significa fare un telecomando OTTENERE
richiesta, e nella seconda parte daremo un'occhiata a un approccio pratico per farlo.
Quindi negli ultimi due articoli, esamineremo gli argomenti wp_remote_get
accetta oltre a ciò che è possibile accettare da una risposta dal server quando viene completata una richiesta. In definitiva, dovremmo avere una piena comprensione dell'API di questo metodo e di come scrivere codice di qualità e difensivo quando viene implementato nei nostri progetti.
Ma prima, prendiamo un sondaggio su ciò che significa anche per fare una richiesta.
Semplicemente definito, una richiesta remota è quando un server inoltra una richiesta a un altro server. Questo può assumere diverse forme - a volte invia dati, a volte è semplicemente il polling per vedere se il server è disponibile, ea volte richiede dati.
In questa particolare serie di articoli, esamineremo cosa significa richiesta dati da un altro server. Ma prima, ecco come puoi concettualmente modellare un server parlando con un altro, facendo una richiesta e poi gestendo i dati:
Abbastanza facile da capire, giusto?
Per gli sviluppatori avanzati che stanno leggendo questo, sai che ci possono essere alcuni argomenti avanzati da trattare qui - forse l'autenticazione deve avvenire (come l'uso di chiavi e / o token), e sai che la risposta non sarà sempre sia chiaro come ciò che è definito - ma la verità è che se si guarda il processo da un punto di vista astratto, questo è ciò che si finisce per vedere.
Questo varia da applicazione a applicazione, ma come accennato in precedenza in questo articolo ci concentriamo principalmente su PHP e WordPress e quindi il modo in cui le richieste sono fatte tipicamente all'interno di PHP utilizza una delle due funzioni:
file_get_contents
arricciare
Entrambi possono essere usati per richieste remote, ma uno è un po 'più flessibile dell'altro.
file_get_contents
Essenzialmente, file_get_contents
accetta una stringa - fondamentalmente un URL - e restituirà i dati richiesti (o falsi in caso di errore).
Questo è probabilmente il modo più comune in cui gli sviluppatori principianti eseguiranno richieste remote. A dire il vero, lo facevo spesso - e lo faccio ancora, a seconda dei requisiti dell'applicazione web - ma questo è un argomento per un'altra serie.
I dettagli su file_get_contents
può essere letto nel manuale PHP. Anche se daremo un'occhiata al modo WordPress di fare richieste remote, consiglio di provare questa particolare API solo per avere familiarità con ciò che offre.
cURL - arricciatura scritta spesso - è l'abbreviazione di "libreria URL client". Proprio come il nome cita, questa è un'intera libreria - rispetto a una funzione - che offre agli sviluppatori un set completo di funzionalità per creare richieste remote.
Oltre a richiedere semplicemente dati da un URL di terze parti, puoi impostare parametri quali:
Ovviamente, c'è Un sacco per imparare e Un sacco andando avanti con questa particolare biblioteca.
Personalmente, se sei uno sviluppatore avanzato, sono un fan dell'uso arricciare
nel contesto di applicazioni Web basate su PHP per il livello di controllo robusto che offre.
Se non si ha familiarità con questa libreria, consiglio vivamente di leggerla nel manuale PHP.
Naturalmente, come detto in tutto l'articolo, file_get_contents
e arricciare
sono importanti da sapere in PHP e sono spesso usati nel contesto di progetti WordPress; tuttavia, lì è una funzione preferita da utilizzare all'interno di WordPress.
Ricorda, proprio come abbiamo visto gli standard di codifica di WordPress per capire come scrivere al meglio il codice basato su WordPress, abbiamo anche bisogno di guardare le API a nostra disposizione per assicurarci che stiamo facendo le cose come raccomanda WordPress.
Quindi quando si tratta di fare OTTENERE
richieste per WordPress, la funzione che abbiamo a disposizione è wp_remote_get
.
La funzione accetta due argomenti:
L'array di argomenti è un po 'oltre lo scopo di questo particolare articolo; tuttavia, l'articolo Codex associato fornisce una rapida lettura per esattamente ciò che possiamo inviare insieme alla nostra richiesta.
Alcuni esempi includono:
Infine, la funzione richiederà un'intera serie di dati una volta inviata la risposta. Per esempio:
Parleremo di più della risposta nel terzo articolo di questa serie.
Ovviamente, la funzione è più semplice da capire ma è davvero potente. Per chi è curioso, parte dell'API HTTP di WordPress (di cui questa funzione fa parte) utilizza internamente la libreria cURL.
Detto questo, iniziando una richiesta con wp_remote_get
è davvero facile. In effetti, faremo proprio questo nel prossimo articolo della serie.
Nello specifico, vedremo come è facile comunicare con Twitter, ricevere dati e quindi visualizzarli nel browser. La cosa bella è che non dovremo nemmeno usare alcuna autenticazione OAuth o altre librerie.
Useremo wp_remote_get
, gestire la risposta in modo appropriato, quindi visualizzare le informazioni sullo schermo.