Ich werde von vielen Kunden gefragt, ob sie mobile Apps erstellen möchten, die mit ihren Websites verbunden sind, um Daten abzurufen, Benutzern die Anmeldung zu ermöglichen usw. Die meisten von ihnen haben PHP-basierte Websites, aber keine Ahnung von APIs mit ihnen zu interagieren. Sie fragen mich, warum ich nicht einfach direkt eine Verbindung zu ihren SQL-Datenbanken herstellen kann. Ich denke nicht, dass das eine gute Sache ist, von einer mobilen App aus. Ich würde es vorziehen, dass sie eine Art API haben.
Was PHP-basierte Websites angeht, welche sind die besten Optionen, wenn es darum geht, eine API für diesen Zweck zu implementieren?
Sie möchten in RESTful Web Services schauen. Schau dir das Wiki für dieses hier an. Der Kunde muss im Wesentlichen PHP-Anwendungen erstellen, die die zugrunde liegenden Daten seiner Websites über einen REST-kompatiblen Datentyp, z. JSON, XML, SOAP usw. Es gibt eine Reihe von eingebauten PHP-Funktionen, die eine schnelle Konvertierung von PHP-Datenstrukturen in diese Formate ermöglichen. Dadurch können Sie mobile Apps erstellen, die HTTP-Anforderungen zum Abrufen von Daten veranlassen, die dann auf ihre eigene Weise angezeigt werden können.
Ein Beispiel für einen JSON-betriebenen Dienst könnte wie folgt aussehen:
%Vor% Sie können die API wie folgt abfragen (mit mod_rewrite on) http://myapi.mywebsite.com/get-newest-products
Erstellen Sie einfach eine API-Subdomain mit einem einzigen Controller und eine Methode für jede spezifische Aufgabe - geben Sie die Daten in json aus, und Sie sind eingestellt:
%Vor%usw. ...
REST ist eine sehr gute Möglichkeit, Ressourcen für das Retrieval zu strukturieren. Das Erstellen einer REST-API ist eine sehr nützliche Methode zum Definieren der Operationen, die für Ihre Daten ausgeführt werden können, während eine relativ dünne Abstraktionsebene zwischen der API und den Daten in der Datenbank beibehalten wird. Das heißt, es ist nicht gerade trivial, aber es zwingt einen, die Verwendungen und Sicherheitsbedenken zu berücksichtigen, und ist sehr erweiterbar und zukunftssicher.
Nun, ich habe viele Websites entweder auf Drupal, Joomla oder Wordpress gesehen. Wenn dies der Fall ist, verfügen diese über ein API-Modul, das Sie aktivieren können, und erstellen dann eine Android-App, die diese verwendet.
Wir sind diesem Problem oft genug begegnet, dass wir ein einfaches Java-Servlet mit XQUERY als Layer zwischen unserem eigenen Format und der Ziel-Site eingeführt haben, die hauptsächlich in Datenbanken gespeichert ist. Sie konvertiert diese Daten über REST-Services in JSON. Das macht uns flexibel und schnell für jedes neue System wie Joomla, Wordpress, etc ... Es funktioniert seit vielen Jahren für uns. Die Anpassung eines neuen Systems dauert normalerweise einen Tag. Sie können Stylus-Enterprise verwenden, um die Xquery-Dateien mit einer Benutzeroberfläche zu entwerfen. Wenn Sie bei PHP bleiben wollen, macht Luracast Restler tatsächlich einen guten Job.
Anstelle von Apps wird ihnen vorgeschlagen, ihre mobile Website und einen Wrapper zu verwenden, nur um einen Browser zu öffnen und sie auf die mobile Website umzuleiten.