Heim >Backend-Entwicklung >PHP-Tutorial >Probleme mit der Schnittstellenspezifikation

Probleme mit der Schnittstellenspezifikation

WBOY
WBOYOriginal
2016-08-18 09:16:011196Durchsuche

Schnittstellenrückgabedaten geben im Allgemeinen Ganzzahlen und Gleitkommatypen als Zeichenfolgen aus. Haben Sie diesen Typ verarbeitet?
Wie gehe ich damit um? Ich verwende derzeit das Laravel-Framework.

Probleme mit der Schnittstellenspezifikation

Meine Idee ist, den Datentyp in jedem Modell zu definieren und ihn dann bei der Ausgabe des Modells einheitlich zu verarbeiten. Gibt es eine gute Methode?

Antwortinhalt:

Schnittstellenrückgabedaten geben im Allgemeinen Ganzzahlen und Gleitkommatypen als Zeichenfolgen aus. Haben Sie diesen Typ verarbeitet?
Wie gehe ich damit um? Ich verwende derzeit das Laravel-Framework.

Probleme mit der Schnittstellenspezifikation

Meine Idee ist, den Datentyp in jedem Modell zu definieren und ihn dann bei der Ausgabe des Modells einheitlich zu verarbeiten. Gibt es eine gute Methode?

PHP ist eine schwach typisierte Sprache, daher kommt diese Situation relativ häufig vor.
Im Allgemeinen gibt es kein Problem, wenn Sie mit js oder anderen schwach typisierten Sprachen interagieren.
Bei stark typisierten Sprachen wie Ios und Android wird es einige Probleme geben

1. Schreiben Sie eine einheitliche API-Verarbeitungsfunktion und verarbeiten Sie sie einheitlich. Wenn sie intval ist, ist sie null. Wenn sie eine leere Zeichenfolge ist, ist sie „“. Darauf muss bei starken Typen geachtet werden.
2. Auf der interaktiven Seite wie iOS, Android usw. ist es am besten, eine Typüberprüfung, Typkonvertierung und Fehlertoleranz durchzuführen. Lassen Sie nicht zu, dass die Schnittstelle den falschen Typ zurückgibt und das Programm abstürzt.

Es ist am besten, sich mit beiden Aspekten auseinanderzusetzen.

Das hat nichts mit dem Framework zu tun. PHP ist schwach typisiert, daher ist das Datenformat bei der Rückgabe von JSON sehr unregelmäßig. Meine aktuelle Schnittstelle zur Rückgabe von JSON-Daten ist außen manuell formatiert

<code>strval(xxx) //格式化为字符串
intval(xxx) //格式化为整形数字
floatval(xxx) //格式化为浮点型数字
boolval(xxx) //格式化为浮点型</code>

Vielen Dank für die Einladung. PHP ist sehr klar. Sie können ein separates Programm verwenden, um die Daten, die Sie akzeptieren möchten, oder die an Ihren Client zurückgegebenen Daten zu verarbeiten die Daten. Sie können eine Klasse oder Methode definieren, um die von Ihnen genannten Gleitkomma-, Ganzzahl- und anderen Daten zu verarbeiten. Kurz gesagt, stellen Sie einfach die Schnittstellensicherheit und Datenkorrektheit sicher

Lassen Sie mich zunächst über meine Ergebnisse sprechen.


wird nicht in eine Zeichenfolge umgewandelt. Sind Ihre Daten ursprünglich eine Zeichenfolge?

Meine PHP-Version: 5.5.34

Laravel Framework-Version: 5.2.22

<code><?php

namespace App\Http\Controllers;

class PingController extends Controller
{

    public function ping()
    {
        $a = [1.1, 2];
        return json_encode($a);

        return 'ping is ok';
    }
}</code>
Übrigens denke ich, dass die Verarbeitung einheitlich erfolgen sollte, wenn der Controller zurückkehrt.

Probleme mit der Schnittstellenspezifikation

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