Heim  >  Artikel  >  Backend-Entwicklung  >  Erste Einführung in die PHP-Schnittstelle

Erste Einführung in die PHP-Schnittstelle

不言
不言Original
2018-04-03 10:07:227140Durchsuche

Dieser Artikel stellt den Inhalt der PHP-Schnittstelle vor und gebe auch einen Hinweis an Freunde, die gemeinsam einen Blick darauf werfen

1 je nach Anforderer in zwei Typen unterteilt werden:
Einer ist die Schnittstelle, die von anderen internen Projekten aufgerufen wird (einschließlich asynchroner js-Anforderungsschnittstellen und Timing-Programmen).
Das andere ist die externe Schnittstelle, die hauptsächlich für Aufrufe externer Entwickler bereitgestellt wird.
 
Der größte Unterschied zwischen den beiden Schnittstellen besteht darin, dass die interne Schnittstelle keine strikte Authentifizierung erfordert, während die externe Schnittstelle eine strikte Authentifizierung erfordert. Es gibt verschiedene Verschlüsselungs- und Entschlüsselungsmethoden. Die gebräuchlichste und einfachste ist die HTTP-Basisauthentifizierung . Beispielsweise verwenden die in unserem Backend angezeigten Popup-Fenster für Konten und Passwörter eine einfache Verifizierung. Sie müssen Ihr Konto und Ihr Passwort eingeben, um die Verifizierung zu bestehen. Wenn die interne Schnittstelle jedoch wichtige Vorgänge umfasst und Sie nicht von anderen böswillig dazu aufgefordert werden möchten, müssen Sie dennoch einige Verschlüsselungsüberprüfungen durchführen.
 
2. Egal um welche Schnittstelle es sich handelt, die folgenden Punkte sollten berücksichtigt werden:
1. Parametersicherheit: Dafür haben wir $_INPUT, was im Grunde ausreicht. Ob eine Authentifizierung erforderlich ist: Wenn es sich nur um eine Schnittstelle der internen Benachrichtigungsklasse/Rückrufklasse handelt, sind die normalen Daten nicht betroffen. In diesem Fall können Sie beispielsweise überhaupt keine Überprüfung durchführen. Ich werde eine Schnittstelle zum Synchronisieren des Bestellstatus erstellen. Der darin enthaltene Prozess besteht darin, die Bestellungen mit problematischem Bestellstatus abzufragen und dann den Status dieser Bestellungen zu aktualisieren. Diese Art von Schnittstelle muss keinen Wert zurückgeben, und selbst wenn sie von einer böswilligen Person in böswilliger Absicht aufgerufen wird, wird sie nicht beeinträchtigt, sodass überhaupt keine Authentifizierung erforderlich ist. Ob eine Verifizierung hinzugefügt werden soll oder nicht, hängt daher von der tatsächlichen Logik der Schnittstelle ab.

2. Können Sie die Anfrage wiederholen? Wenn eine Schnittstelle beispielsweise ein Datenelement basierend auf der eingehenden Bestellnummer einfügt, muss sie wiederholte Anforderungen gut beurteilen, um das Einfügen mehrerer Datenelemente zu vermeiden.

3. Schnittstellenspezifikation schreiben
1. Verwenden Sie die try...catch...-Struktur zum Schreiben. (Die Hauptsache ist, dass throw das Programm jederzeit beenden kann, was sehr cool ist.)
2 Geben Sie den Erfolgscode nicht als wahr oder falsch zurück Die Bedeutung verschiedener Fehlercodes sollte ebenfalls klar angegeben werden, damit der Anrufer die Ursache des Fehlers überprüfen kann.
Sehen Sie sich die Kastanie direkt unten an:

<?php
    $code = 200; // 接口状态码 

    $name = trim($_INPUT[&#39;name&#39;]);    $age  = trim($_INPUT[&#39;age&#39;]);    if (empty($name))
    {        $code = 401;        throw new Exception(&#39;名字不能为空&#39;);
    }    if (!is_numeric($age))
    {        $code = 402;        throw new Exception(&#39;年龄必须由数字组成&#39;);
    }    $database_obj = new database_class();    $res = $database_obj->save($name, $age);    if ( !$res )
    {        $code = 403;        throw new Exception(&#39;保存数据失败&#39;);
    }    
        $msg = &#39;ok&#39;;
    } catch ( Exception $e ) {        $msg = $e->getMessage();
    }
output_json($code,$data,$msg); // $data可以放置需要返回的数据// output_json函数在大function里面有~如果不想引入大function的话可以复制一份到自己项目// ========END=======?>

Nachdruck von: https://www.cnblogs.com/xiaomendelu/p/5819708.html

1. Interface Press Requester können in zwei Typen unterteilt werden:
Einer ist die Schnittstelle, die von anderen internen Projekten aufgerufen wird (einschließlich asynchroner js-Anforderungsschnittstellen und Timing-Programmen).
Das andere ist die externe Schnittstelle, die hauptsächlich für Aufrufe externer Entwickler bereitgestellt wird.
 
Der größte Unterschied zwischen den beiden Schnittstellen besteht darin, dass die interne Schnittstelle keine strikte Authentifizierung erfordert, während die externe Schnittstelle eine strikte Authentifizierung erfordert. Es gibt verschiedene Verschlüsselungs- und Entschlüsselungsmethoden. Die gebräuchlichste und einfachste ist die HTTP-Basisauthentifizierung . Beispielsweise verwenden die in unserem Backend angezeigten Popup-Fenster für Konten und Passwörter eine einfache Verifizierung. Sie müssen Ihr Konto und Ihr Passwort eingeben, um die Verifizierung zu bestehen. Wenn die interne Schnittstelle jedoch wichtige Vorgänge umfasst und Sie nicht von anderen böswillig dazu aufgefordert werden möchten, müssen Sie dennoch einige Verschlüsselungsüberprüfungen durchführen.
 
2. Egal um welche Schnittstelle es sich handelt, die folgenden Punkte sollten berücksichtigt werden:
1. Parametersicherheit: Dafür haben wir $_INPUT, was im Grunde ausreicht. Ob eine Authentifizierung erforderlich ist: Wenn es sich nur um eine Schnittstelle der internen Benachrichtigungsklasse/Rückrufklasse handelt, sind die normalen Daten nicht betroffen. In diesem Fall können Sie beispielsweise überhaupt keine Überprüfung durchführen. Ich werde eine Schnittstelle zum Synchronisieren des Bestellstatus erstellen. Der darin enthaltene Prozess besteht darin, die Bestellungen mit problematischem Bestellstatus abzufragen und dann den Status dieser Bestellungen zu aktualisieren. Diese Art von Schnittstelle muss keinen Wert zurückgeben, und selbst wenn sie von einer böswilligen Person in böswilliger Absicht aufgerufen wird, wird sie nicht beeinträchtigt, sodass überhaupt keine Authentifizierung erforderlich ist. Ob eine Verifizierung hinzugefügt werden soll oder nicht, hängt daher von der tatsächlichen Logik der Schnittstelle ab.

2. Können Sie die Anfrage wiederholen? Wenn eine Schnittstelle beispielsweise ein Datenelement basierend auf der eingehenden Bestellnummer einfügt, muss sie wiederholte Anforderungen gut beurteilen, um das Einfügen mehrerer Datenelemente zu vermeiden.

3. Schnittstellenspezifikation schreiben
1. Verwenden Sie die try...catch...-Struktur zum Schreiben. (Die Hauptsache ist, dass throw das Programm jederzeit beenden kann, was sehr cool ist.)
2 Geben Sie den Erfolgscode nicht als wahr oder falsch zurück Die Bedeutung verschiedener Fehlercodes sollte ebenfalls klar angegeben werden, damit der Anrufer die Ursache des Fehlers überprüfen kann.
Sehen Sie sich die Kastanie unten direkt an:

<?php
    $code = 200; // 接口状态码 

    $name = trim($_INPUT[&#39;name&#39;]);    $age  = trim($_INPUT[&#39;age&#39;]);    if (empty($name))
    {        $code = 401;        throw new Exception(&#39;名字不能为空&#39;);
    }    if (!is_numeric($age))
    {        $code = 402;        throw new Exception(&#39;年龄必须由数字组成&#39;);
    }    $database_obj = new database_class();    $res = $database_obj->save($name, $age);    if ( !$res )
    {        $code = 403;        throw new Exception(&#39;保存数据失败&#39;);
    }    
        $msg = &#39;ok&#39;;
    } catch ( Exception $e ) {        $msg = $e->getMessage();
    }
output_json($code,$data,$msg); // $data可以放置需要返回的数据// output_json函数在大function里面有~如果不想引入大function的话可以复制一份到自己项目// ========END=======?>

Nachdruck von: https://www.cnblogs.com/xiaomendelu/p/5819708.html

Verwandte Empfehlung:

Detaillierte Erklärung der PHP-Schnittstellenprogrammierung

Wie man die PHP-Schnittstelle richtig verwendet

Das obige ist der detaillierte Inhalt vonErste Einführung in die PHP-Schnittstelle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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
Vorheriger Artikel:PHP-PufferNächster Artikel:PHP-Puffer