2012-03-30 7 views
0

Ich habe eine REST-basierte API (mit Tonic, FWIW) implementiert, so habe ich eine zentrale dispatch.php Datei, die Senden von URI-Anfragen an die entsprechenden Klassen behandelt. Am Ende habe ich MySQL über PDO.PHP Klassenlebenszyklus mit REST und PDO

Um meine höhere Funktionalität zu implementieren, muss ich etwa drei oder vier REST-APIs in einer Reihe aufrufen, so dass ich Sorge, dass die gesamte Konstruktion und Zerstörung des PDO-Objekts und die Verbindung und Trennung von der Back-End-Datenbank hinzufügen unnötiger Aufwand. Ich könnte das PDO im $SESSION Array speichern, nehme ich an, aber das fühlt sich nicht als der richtige Weg an, Dinge zu machen. Was ist der empfohlene Weg, dies zu tun?

Antwort

1

Diese Frage ist wirklich orthogonal zu REST und ist ein Problem in fast jeder PHP-Anwendung.

In jeder Standard-PHP-Anwendung wird alles auf Anfrage erstellt und am Ende zerstört. Dies ist die "Share-Nothing-Architektur".

Das heißt, es gibt ein Projekt namens appserver-in-php, das versucht, dies zu adressieren, indem Sie einen Server in PHP erstellen. Wenn Sie dies verwenden, können Sie Ihr PDO-Objekt einmal erstellen und haben es verfügbar, bis Sie den Server herunterfahren, oder eine Schlange beißt die Ethernet-Kabel.

+0

+1 für den Kommentar "shared nothing", aber ich würde vom php-Server fern bleiben. Wenn Sie sich an dem Punkt befinden, an dem Sie sich um den Leistungsaufwand von PDO-Verbindungen sorgen müssen, sind Sie wahrscheinlich nicht mehr in der Lage, PHP als HTTP-Server zu verwenden. – nategood

+0

Danke für die Antworten, und es ist wie ich dachte/gefürchtet. Ich wollte nur überprüfen, dass ich keinen Trick vermisse. –