2012-03-25 9 views
1

Hallo ich bin mir nicht sicher, ob dies erholsam ist, ich denke es ist, aber bitte korrigieren Sie mich, wenn ich falsch liege. so dass im Grunde möchte ich meinen Server, die in PHP geschrieben ist, auf verschiedene api Anfragen reagieren, so zum BeispielPHP erstellen Sie einen zentralen Dispatcher für REST wie api

http://www.myweb.com/api/content/video/get?id=1 which will return a json object that has information regarding of a video of id=1 

Ich kann aber auch die folgenden api müssen

http://www.myweb.com/api/content/music/get?name=biever 

genannt werden Ich möchte einen zentralen Dispatcher erstellen, eine PHP-Datei, die sich im api-Verzeichnis des Servers befindet. Wenn also eine Anfrage in der RESTful-Verbindung (die in beiden Beispielen oben ist) erscheint, muss sie diese Anfragen "abfangen" , und prüfen Sie den Rest des Pfades, um die Funktion entsprechend aufzurufen. so zum Beispiel

in controller.php in api Verzeichnis es wird sehen, oh Sie rufen Inhalt/Video, ich werde einige Pre-Processing (sagen, Hinzufügen von Video-Namen oder etwas) dann leiten Sie den Methodenaufruf zu Inhalt/video/get

wie kann ich, in php, stellen Sie sicher, dass alle Anfragen zuerst durch meine Controller-Datei gehen?

Antwort

0

Standardmäßig werden URLs zu PHP-Dateien in Ihrem Dateisystem zugeordnet. Sie können dieses in PHP nicht steuern. Wenn Ihr PHP ausgeführt wird, sind Sie zu spät. Sie müssen also die URL auf Webserverebene neu schreiben. Wenn Sie Apache verwenden, schauen Sie sich mod_rewrite an.

+0

danke chris für die antwort. Was ist REST-ähnlicher Ansatz? wenn ich keinen zentralisierten dispatcher wie oben beschrieben habe, zählt er immer noch als REST? – user1233587