Heim > Backend-Entwicklung > PHP-Tutorial > Einführung in die Versionskontrolle der Yii2.0 RESTful API (Codebeispiel)

Einführung in die Versionskontrolle der Yii2.0 RESTful API (Codebeispiel)

不言
Freigeben: 2023-04-04 17:44:01
nach vorne
2654 Leute haben es durchsucht

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"
Nach dem Login kopieren

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
Nach dem Login kopieren

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',
]
Nach dem Login kopieren

Initialisieren Sie die erweiterte Vorlage

vor der Initialisierung Lesen Sie zuerst diesen Artikel

cd advanced
php init
Nach dem Login kopieren

Öffnen Sie commonconfigmain.php und aktivieren Sie die URL-Routing-Verschönerungsregeln

'urlManager' => [
    'enablePrettyUrl' => true,
    'showScriptName' => false,
    'rules' => [
    ],
],
Nach dem Login kopieren

Öffnen Sie commonconfigbootstrap.php und fügen Sie die folgenden Aliase hinzu

Yii::setAlias('@api', dirname(dirname(__DIR__)) . '/api');
Nach dem Login kopieren

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. ..)

Mein Verständnis:

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', '*']
    ];
}
Nach dem Login kopieren
Da ich Homestead verwende, ist der Zugriff auf GII standardmäßig nicht erlaubt, also habe ich es getan um 'allowedIPs' => ; ['127.0.0.1', '*'] hinzuzufügen, sonst wird Forbidden (#403) angezeigt. Sie können es nach Ihren eigenen Bedürfnissen konfigurieren oder nicht konfigurieren Module generieren

Durchsuchen Geben Sie http://Ihren Host/gii in den Server ein, Sie können den Modulgenerator sehen, klicken Sie auf Start

Modules-Klasse, geben Sie ein: apimodulesv1Module

Module ID, geben Sie v1 ein (normalerweise wird es automatisch eingegeben)

Klicken Sie auf Vorschau

Einführung in die Versionskontrolle der Yii2.0 RESTful API (Codebeispiel)Klicken Sie abschließend auf „Generieren“, um zu generieren

Einführung in die Versionskontrolle der Yii2.0 RESTful API (Codebeispiel)Konfigurationsmodul

Öffnen Sie die Datei api/config/main.php, ändern Sie Module

'modules' => [
    'v1'=>[
        'class'=>'api\modules\v1\Module',
    ],
],
Nach dem Login kopieren

und ändern Sie dann urlManager

'urlManager' => [
    'enablePrettyUrl' => true,
    'enableStrictParsing' => true,
    'showScriptName' => false,
    'rules' => [
        ['class' => 'yii\rest\UrlRule',
            'controller' => 'v1/default',
            'extraPatterns'=>[
                'GET index'=>'index',
            ],
        ],
    ],
],
Nach dem Login kopieren
Basierend auf dem oben Gesagten wurde die Yii2.0 RESTFul API-Versionsverwaltung implementiert, und wir können über die folgende Adresse darauf zugreifen:

http://localhost/v1/defaults
Nach dem Login kopieren
Um es noch ein wenig zu sagen, die Adresse über mir wurde dem API/Web-Verzeichnis zugeordnet, bitte konfigurieren Sie es entsprechend Ihrer tatsächlichen Situation.

Öffnen Sie das gerade generierte Moduldateiverzeichnis. Sie können sehen, dass sich darin ein v1-Verzeichnis befindet Es gibt auch ein Controller- und ein Ansichtenverzeichnis.
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

Gerade war es nur die Standardeinstellung. Der von GII für uns generierte Code liegt daran, dass wir eine API sind, sodass das Ansichtsverzeichnis von uns im Allgemeinen nicht verwendet wird.

Erstellen Sie einen neuen Rest-Controller

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 &#39;this is v1/user&#39;;
    }
}
Nach dem Login kopieren

Ä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',
            ],
        ],
    ],
],
Nach dem Login kopieren
Versuchen Sie, darauf zuzugreifen

http://localhost/v1/users/index
Nach dem Login kopieren
ok, das Obige ist die Implementierung der Yii2.0-Versionsverwaltung

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;
    },
],
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:segmentfault.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage