Heim >Backend-Entwicklung >PHP-Tutorial >Fraktal: eine praktische Anleitung
API -Entwickler stehen häufig vor der Herausforderung von Datenbankschema -Änderungen. Ohne eine gute Implementierung muss das Änderung des Spaltennamens möglicherweise das gesamte Modell neu refactoring erfordern. Dieser Artikel zeigt, wie Fraktal als Brücke zwischen dem Modell und dem JSON -Ausgang verwendet wird, um den API -Entwicklungsprozess zu vereinfachen.
Schlüsselpunkte:
fraktale Beutel
Fractal ist ein in PHP geschriebenes Projekt und gehört zur Liga der außergewöhnlichen Pakete. Diese Pakete erfüllen mehrere Anforderungen, z. B. die Verwendung von PHP-Fig- und Unit-Testabdeckung. Fractal wurde hauptsächlich von Phil Sturgeon entwickelt und erhält weiterhin regelmäßige Verbesserungen. Es kann auch mit Komponist verwendet werden.
Stellen Sie die Umgebung
festZur Demonstration werde ich ein Framework mit Silex und Illuminate/Datenbank (Laravel -Orm -Komponente) einrichten. Auch wenn Sie mit keinem von ihnen vertraut sind, spielt es keine Rolle. Was ich tun werde, ist sehr einfach und klar, und ich werde es so klar wie möglich erklären. Wenn Sie unklare Bereiche haben, hinterlassen Sie bitte eine Nachricht. Ich werde das Framework einrichten. Bitte beachten Sie, dass Sie den gesamten Code am Ende des Artikels herunterladen können, wenn Sie nicht die Schritte ausführen möchten. Erstellen Sie nun einen neuen Ordner im Stammordner. Wir werden zunächst eine Composer.json -Datei erstellen, die alle Abhängigkeiten enthält, die wir benötigen. In diesem Fall: Silex und Illuminedatabase. Erstellen Sie eine Composer.json -Datei wie folgt:
<code class="language-json">{ "require": { "silex/silex": "~1.2", "illuminate/database": "*" } }</code>
Verwenden Sie composer install
, um diese Pakete zu installieren.
Ich werde als Beispiel eine Online -Musikdatenbank nehmen. Die Datenbank enthält Informationen zu mehreren Songs: Songtitel, Künstlername, Künstlerwebsite, Albumtitel, Erscheinungsdatum und Plattenlabel. Zu Beginn werden all diese Informationen in einer Tabelle gespeichert. Wenn Sie es selbst ausprobieren möchten, laden Sie die Datei 1.SQL von der Codebasis dieses Artikels herunter und führen Sie sie in Ihrer Datenbank aus.
Um Silex mit Illuminedatabase zu verwenden, brauchen wir einen Code. Erstellen Sie im App -Ordner eine neue Datei namens Index.php. Hier starten wir Silex, stellen eine Verbindung zur Datenbank her und definieren die Route:
<code class="language-json">{ "require": { "silex/silex": "~1.2", "illuminate/database": "*" } }</code>
Die erste Zeile besteht darin, die automatische Ladedatei des Komponisten einzuführen. Anschließend erstellen wir eine neue Silex -Anwendung und laden Beleuchtung/Datenbank. Anschließend erstellen wir einen Controller für /tracks
, so dass alle URLs mit /tracks
von Controllern/Tracks.php verarbeitet werden. Die Datei Database.php sieht so aus. Denken Sie daran, die Verbindungseinstellungen zu ändern:
<code class="language-php"><?php require("../vendor/autoload.php"); $app = new Silex\Application(); $app['database'] = require("database.php"); $app->mount('/tracks', include 'controllers/tracks.php'); $app->run();</code>
Zunächst verwenden wir den Illuminedatabase Query Builder, um eine Liste von IDs, Namen und Künstlern zu erhalten und sie dann auszugeben. Die Ausgabe hat das folgende Format:
<code class="language-php"><?php use Illuminate\Database\Capsule\Manager as Capsule; $capsule = new Capsule; $capsule->addConnection([ 'driver' => 'mysql', 'host' => 'localhost', 'database' => 'musicstore', 'username' => 'root', 'password' => '', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', ]); use Illuminate\Events\Dispatcher; use Illuminate\Container\Container; $capsule->setEventDispatcher(new Dispatcher(new Container)); $capsule->setAsGlobal(); $capsule->bootEloquent(); return $capsule;</code>
(Der nachfolgende Inhalt ähnelt dem Originaltext, aber die Anweisung wird angepasst und vereinfacht, um die Duplikation zu vermeiden und die ursprüngliche Absicht unverändert zu halten.) aufgrund von Platzbeschränkungen, den nächsten Schritten (einschließlich der Erste API -Version, verfolgen Sie einen detaillierten Code und die Erläuterung von Informationen, aktualisierte API -Versionen und FAQ) werden weggelassen, jedoch werden wichtige Schritte und Übersichten von Ideen aufbewahrt. Die Leser können sich auf den Originaltext für den vollständigen Code und eine detailliertere Erklärung beziehen.
Insgesamt können Datenbankänderungen durch Hinzufügen von Fraktal vor der Ausgabe leicht vorgenommen werden, ohne die Endbenutzererfahrung zu beeinflussen, wodurch die Stabilität und Konsistenz der API beibehalten wird.Das obige ist der detaillierte Inhalt vonFraktal: eine praktische Anleitung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!