Dieser Artikel bietet Ihnen eine Einführung in die Versionskontrolle der Yii2.0 RESTful API (Codebeispiele). Ich hoffe, dass er für Sie hilfreich ist.
Ich habe bereits zwei Artikel darüber geschrieben, wie man die Yii2.0 RESTful API erstellt, sowie über Authentifizierung und andere Verarbeitung, aber sie betrafen nicht die Versionsverwaltung. Heute werde ich darüber sprechen, wie man die Versionsverwaltung implementiert.
Beginnen Sie einfach von vorne und erstellen Sie es Schritt für Schritt, aber einige Konzepte und Verwendung werden in diesem Artikel nicht einzeln erklärt. Zur Konfiguration können Sie sich auf das erste Yii2.0 RESTful API-Grundkonfigurations-Tutorial beziehen
Yii2.0 installieren
Über Composer installieren
Dies ist die bevorzugte Methode zur Installation von Yii2.0. Wenn Sie Composer noch nicht installiert haben, können Sie den Anweisungen hier folgen, um es zu installieren.
Führen Sie nach der Installation von Composer den folgenden Befehl aus, um das Composer Asset-Plug-in zu installieren:
composer global require "fxp/composer-asset-plugin:^1.2.0"
Um die erweiterte Anwendungsvorlage zu installieren, führen Sie den folgenden Befehl aus:
composer create-project yiisoft/yii2-app-advanced yii-api 2.0.14
Kopieren Sie das Backend-Verzeichnis mit dem Namen api
Öffnen Sie apiconfigmain.php und ändern Sie die ID, ControllerNamespace:
return [ 'id' => 'app-api', 'basePath' => dirname(__DIR__), 'controllerNamespace' => 'api\controllers', ]
Initialisieren Sie die erweiterte Vorlage
vor der Initialisierung Lesen Sie zuerst diesen Artikel
cd advanced php init
Öffnen Sie commonconfigmain.php und aktivieren Sie die URL-Routing-Verschönerungsregeln
'urlManager' => [ 'enablePrettyUrl' => true, 'showScriptName' => false, 'rules' => [ ], ],
Öffnen Sie commonconfigbootstrap.php und fügen Sie die folgenden Aliase hinzu
Yii::setAlias('@api', dirname(dirname(__DIR__)) . '/api');
OK, die Die obige Arbeit ist fertig. Kommen wir zur Sache. Weitere Informationen zur Version finden Sie in der maßgeblichen Anleitung. Ich werde hier nicht zu viel erklären. ..)
Sie können die Versionen von Yii2 als unterschiedliche Module verstehen. Jede Version ist ein neues Modul, wie z. B. das gemeinsame v1, v2 usw.
Erstellen des Moduls
Was die Generierung des Moduls betrifft, können wir GII verwenden, um es zu generieren.GII konfigurieren
Öffnen Sie die Datei api/config/main-local.php und ändern Sie sie wie folgt:if (!YII_ENV_TEST) { // configuration adjustments for 'dev' environment $config['bootstrap'][] = 'debug'; $config['modules']['debug'] = [ 'class' => 'yii\debug\Module', ]; $config['bootstrap'][] = 'gii'; $config['modules']['gii'] = [ 'class' => 'yii\gii\Module', 'allowedIPs' => ['127.0.0.1', '*'] ]; }
Klicken Sie abschließend auf „Generieren“, um zu generieren
Konfigurationsmodul
Öffnen Sie die Datei api/config/main.php, ändern Sie Module'modules' => [ 'v1'=>[ 'class'=>'api\modules\v1\Module', ], ],
'urlManager' => [ 'enablePrettyUrl' => true, 'enableStrictParsing' => true, 'showScriptName' => false, 'rules' => [ ['class' => 'yii\rest\UrlRule', 'controller' => 'v1/default', 'extraPatterns'=>[ 'GET index'=>'index', ], ], ], ],
http://localhost/v1/defaults
Die Standardeinstellungen, die wir gerade besucht haben, sind tatsächlich diese beiden Dateien. Der Controller rendert die Ansicht genau wie ein herkömmliches Webprojekt.
Okay, Sie wissen vielleicht, dass unser zukünftiger Controller-Code ist wird in module/v1/controllers abgelegt
Erstellen Sie einen neuen UserController unter modulev1controllers
<?php namespace api\modules\v1\controllers; use yii\rest\Controller; /** * User controller for the `v1` module */ class UserController extends Controller { /** * @return string */ public function actionIndex() { return 'this is v1/user'; } }
Ändern Sie den URLManager in api/config/main.php
'urlManager' => [ 'enablePrettyUrl' => true, 'enableStrictParsing' => true, 'showScriptName' => false, 'rules' => [ ['class' => 'yii\rest\UrlRule', 'controller' => 'v1/default', 'extraPatterns'=>[ 'GET index'=>'index', ], ], ['class' => 'yii\rest\UrlRule', 'controller' => 'v1/user', 'extraPatterns'=>[ 'GET index'=>'index', ], ], ], ],
http://localhost/v1/users/index
Formatierte Antwort
Ändern Sie api/config/main.php in den Komponenten Array Antwort hinzufügen
'response' => [ 'class' => 'yii\web\Response', 'on beforeSend' => function ($event) { $response = $event->sender; $response->data = [ 'success' => $response->isSuccessful, 'code' => $response->getStatusCode(), 'message' => $response->statusText, 'data' => $response->data, ]; $response->statusCode = 200; }, ],
Das obige ist der detaillierte Inhalt vonEinführung in die Versionskontrolle der Yii2.0 RESTful API (Codebeispiel). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!