Das ist so ziemlich das gleiche wie beim Erstellen einer normalen Website.
Normales Muster für eine PHP-Website ist:
- Der Benutzer gibt eine URL ein
- Der Server erhält die URL, analysiert sie und führt eine Aktion aus
- In dieser Aktion erhalten / generieren Sie alle Informationen, die Sie für die Seite benötigen
- Sie erstellen die HTML / PHP-Seite mit den Informationen aus der Aktion
- Der Server generiert eine vollständige HTML-Seite und sendet sie an den Benutzer zurück
Mit einer API fügen Sie einfach einen neuen Schritt zwischen 3 und 4 hinzu. Erstellen Sie nach 3 ein Array mit allen Informationen, die Sie benötigen. Codieren Sie dieses Array in json und beenden Sie diesen Wert oder geben Sie ihn zurück.
$info = array("info_1" => 1; "info_2" => "info_2" ... "info_n" => array(1,2,3));
exit(json_encode($info));
Das alles für die API. Für die Client-Seite können Sie die API über die URL aufrufen. Wenn die API nur mit get call funktioniert, denke ich, ist es möglich, einfach zu machen (Zur Überprüfung verwende ich normalerweise Curl).
$info = file_get_contents(url);
$info = json_decode($info);
Es ist jedoch üblicher, die Curl-Bibliothek zu verwenden, um einen Anruf abzurufen und zu senden. Sie können mich fragen, ob Sie Hilfe beim Locken benötigen.
Sobald Sie die Informationen von der API erhalten haben, können Sie die 4 und 5 Schritte ausführen.
Suchen Sie im PHP-Dokument nach json-Funktion und file_get_contents.
Curl: http://fr.php.net/manual/fr/ref.curl.php
BEARBEITEN
Nein, warte, ich verstehe es nicht. "php API page" was meinst du damit?
Die API ist nur die Erstellung / Wiederherstellung Ihres Projekts. Sie senden NIEMALS direkt das HTML-Ergebnis (wenn Sie eine Website erstellen) und werfen eine API. Sie rufen die API mit der URL auf, die API-Rückgabeinformationen, und verwenden diese Informationen, um das Endergebnis zu erstellen.
Beispiel: Sie möchten eine HTML-Seite schreiben, die Hallo xxx sagt. Aber um den Namen des Benutzers zu erhalten, müssen Sie die Informationen von der API erhalten.
Nehmen wir also an, Ihre API hat eine Funktion, die user_id als Argument hat und den Namen dieses Benutzers zurückgibt (sagen wir getUserNameById (user_id)), und Sie rufen diese Funktion nur unter einer URL wie Ihrer / api / ulr / getUser / id auf.
Function getUserNameById(user_id)
{
$userName =
exit(json_encode($userName));
}
Von der Client-Seite aus tun Sie dies
$username = file_get_contents(your/api/url/getUser/15);
<html>
<body>
<p>hello <?php echo $username ?> </p>
</body>
</html>
Der Client greift also niemals direkt auf die Datenbanken zu, die die Rolle der API übernehmen.
Ist das klarer?