Heim Backend-Entwicklung PHP-Tutorial Der gesamte Prozess der Entwicklung einer APP-Schnittstelle mit PHP (1)

Der gesamte Prozess der Entwicklung einer APP-Schnittstelle mit PHP (1)

Oct 12, 2019 pm 02:22 PM
app php

1. Lernpunkte:

Serverseite –> Aufrufschnittstelle –> Einführung: (PHP-Entwicklungs-APP-Schnittstelle)

PHP-objektorientierte Schnittstelle: abstrakte Klasse, Schnittstellendefinition==>interface.php

===>1 🎜>

APP-Schnittstelle (Kommunikationsschnittstelle): Erhalten Sie Daten über die Schnittstelle und geben Sie die Daten in die APP ein

–> Fokus der APP-Entwickler: APP-Adresse (Schnittstellenadresse) anfordern + Daten zurückgeben

APP-(Kommunikations-)Schnittstellendefinition:

1. Schnittstellenadresse: http://app.com/api.php?format=xml

2. Schnittstellendatei: app .php Behandelt einige Geschäftslogiken

3. Schnittstellendaten

(empfohlenes Lernen:

PHP-Video-Tutorial

)

3 🎜>

Wie APP kommuniziert:

      C   (接口地址:http://app.com/api.php?format=xml/json)     S
   客户端APP            ------------------------------>             服务器
                      <-----------------------------                                    
                         返回数据
Nach dem Login kopieren
4. Unterschied im Client-APP-Kommunikationsformat

1.xml: Erweiterung Markup-Sprache (1. Wird verwendet Markieren Sie Daten und definieren Sie Datentypen. Es handelt sich um eine Quellsprache, die es Benutzern ermöglicht, ihre eigene Auszeichnungssprache zu definieren. Das XML-Format ist einheitlich, plattform- und sprachübergreifend, eignet sich sehr gut für die Datenübertragung und -kommunikation und ist in der Branche seit langem anerkannt . Standard)

rrree 2.json: Ein gut lesbares und schnell zu schreibendes Datenaustauschformat. Es kann für den Datenaustausch auf verschiedenen Plattformen verwendet werden, völlig unabhängig von der Sprache Textformat. Diese Eigenschaft macht JSON zu einer idealen Datenaustauschsprache.

Die Lesbarkeit von XML ist besser, die Datengenerierung von JSON (json_encode (array)) und die Übertragungsgeschwindigkeit sind besser

Was die APP-Schnittstelle macht:

Daten abrufen: Daten aus der Datenbank oder dem Cache abrufen und die Daten dann über die Schnittstelle an den Client zurückgeben

Daten senden: Daten über die Schnittstelle an den Server senden und dann verarbeiten es in die Datenbank über den Server oder eine andere Verarbeitung

6. JSON-Kapselungs-Kommunikationsschnittstelle

PHP generiert JSON-Daten: json_encode($arr); 🎜>Hinweis: Diese Funktion kann nur UTF-8-codierte Daten akzeptieren. Wenn Sie Daten in anderen Formaten übergeben, gibt die Funktion null zurück

Anmerkungsformat für Kommunikationsdaten:

<?xml version="1.0" encoding="UTF-8"?>
    <item>
        <title>测试</title>
        <test id="1">
        <description>测试oen</description>
        <address>深圳</address>
    </item>
Nach dem Login kopieren

Instanz:

code 状态码(200 400等) 
message 提示信息(邮箱格式不正确;数据返回成功等) 
data 返回相应的数据 
—————————- 
-JSON 
code : 200 
message :”数据返回成功” 
-data 
id :1 
name : “测试”
Nach dem Login kopieren

Ein bestimmter Controller:

  某个server中:
    public  function json($code,$message = &#39;&#39;,$data = array())
    {
            if (!is_numeric($code)){
                return &#39;错误&#39;;
            }
             $result = array(
                &#39;code&#39; => $code,
                &#39;message&#39; => $message,
                &#39;data&#39; => $data
        );
        echo json_encode($result);
        exit;
       }
Nach dem Login kopieren

Browser: http://127.0.0.1/admin/zhw-categorys/jsons

    public function jsonsAction()
           {
               $arr = array(
                   &#39;id&#39; => 1,
                   &#39;name&#39; => &#39;jiang&#39;
              );
            $k = wei()->zhwCategory()->json(200,&#39;成功咯&#39;,$arr);
            return $k;
            }
Nach dem Login kopieren

7. PHP generiert XML-Daten:

7.1 PHP generiert XML-Daten

1. Assemble-String

2. Verwenden Sie die Systemklasse: DomDocument

XMLWriter

SimpleXML

Bei Verwendung von DomDocument:

{"code":200,"message":"\u6210\u529f\u54af","data":{"id":1,"name":"jiang"}}
Nach dem Login kopieren

====> Ergebnis:

    <?php 
                     $dom = new DomDocument(&#39;1.0&#39;,&#39;utf-8&#39;);
                     $element = $dom->createElement(&#39;test&#39;,&#39;This id root element&#39;);
                     $dom->appendChild($element);
                     echo $dom->saveXML();
              ?>
Nach dem Login kopieren

Einfache Instanziierung mit zusammengesetzter Zeichenfolge:

           <?xml version="1.0" encoding="utf-8"?>
           <test>This is the root element</test>
Nach dem Login kopieren
    public static function xml()
            {
                  header("Content-Type:text/html");
                  $xml = "<?xml version=&#39;1.0&#39; encoding=&#39;UTF-8&#39;?>\n";
                  $xml .= "<root>\n";
                  $xml .= "<code>200</code>\n";
                  $xml .= "<message>数据返回成功</message>\n";
                  $xml .= "<data>\n";
                  $xml .="<id>1</id>\n";
                  $xml .="<name>测试</name>\n";
                  $xml .="</data>\n";
                  $xml .="<root>";
                  echo $xml;
             }
Nach dem Login kopieren
  7.2封装XML数据方法:
          封装方法:xmlEncode($code,$message=&#39;&#39;,$data = array());
         data数据分析:
                 1.array(&#39;index&#39; => &#39;api&#39;);
                 2.array(1,7.89);
        具体:
            server模块下:
Nach dem Login kopieren
    public function xmlEncode($code,$message = &#39;&#39;,$data=array())
             {
                 if(!is_numeric($code)){
                    return "错误";
                 }
                 $result = array(
                     &#39;code&#39; => $code,
                     &#39;message&#39; => $message,
                     &#39;data&#39; => $data,
                 );
                 header("Content-Type:text/xml");
                 $xml = "<?xml version=&#39;1.0&#39; encoding=&#39;UTF-8&#39;?>\n";
                 $xml .= "<root>\n";
                 $xml .=self::xmlToEncode($result);
                 $xml .="</root>";
                 echo $xml;
             }
Nach dem Login kopieren
        //对数据再处理
Nach dem Login kopieren
    public function xmlToEncode($data){
               $xml = $attr ="";
               foreach ($data as $key=>$value){
               if(is_numeric($key)){
                   $attr = "id=&#39;{$key}&#39;";
                   $key = "item";
               }
               $xml .= "<{$key} {$attr}>";  //它们{$key} {$attr}之间要有一个小空格
               $xml .=is_array($value) ? self::xmlToEncode($value):$value;
               $xml .="</{$key}>\n";
            }
               return $xml;
            }
Nach dem Login kopieren
某个Controller:
Nach dem Login kopieren

8 .Umfassende Methode zur Kapselung von Kommunikationsdaten:

     public function xmlsAction()
        {
            $arr = array(
               &#39;id&#39; => 1,
               &#39;name&#39; => &#39;jiang&#39;,
               &#39;type&#39; =>array(4,5,6),
               &#39;test&#39; =>array(1,45,67=>array(1,2,3)),
            );
           $k = wei()->zhwCategory()->xmlEncode(200,&#39;成功咯&#39;,$arr);
           return $k;
         }
Nach dem Login kopieren


Letzte Seite:

Server:

   封装方法:show($code,$message,$data=array(),$type=&#39;json/xml&#39;)
Nach dem Login kopieren
<?php

namespace Miaoxing\Zhw\Service;

use miaoxing\plugin\BaseModel;

class ZhwCategory extends BaseModel
{
    const JSON = "json";
    /**
     * 按x综合方式输出通信数据
     * @param integer $code 状态码
     * @param string $message 提示信息
     * @param array $data 数据
     * @param string $type 数据类型
     * return string
     */
    public function show($code,$message=&#39;&#39;,$data=array(),$type = self::JSON)
    {
        if (!is_numeric($code)){
            return "错误编码";
        }
        $result = array(
            &#39;code&#39; => $code,
            &#39;message&#39; => $message,
            &#39;data&#39; => $data,
        );
        if($type == &#39;json&#39;){
            self::json($code,$message,$data);
            exit;
        }elseif($type == &#39;array&#39;){
            var_dump($result);
        }elseif ($type == &#39;xml&#39;){
            self::xmlEncode($code,$message,$data);
            exit;
        }else{
            //TODO
        }
    }
    /**
     * 按json方式输出通信数据
     * @param integer $code 状态码
     * @param string $message 提示信息
     * @param array $data 数据
     * return string
     */
    public  function json($code,$message = &#39;&#39;,$data = array())
    {
        if (!is_numeric($code)){
            return &#39;错误&#39;;
        }
        $result = array(
            &#39;code&#39; => $code,
            &#39;message&#39; => $message,
            &#39;data&#39; => $data
        );
        echo json_encode($result);
        exit;
    }
    /**
     * 按xml方式输出通信数据
     * @param integer $code 状态码
     * @param string $message 提示信息
     * @param array $data 数据
     * return string
     */
    public function xmlEncode($code,$message = &#39;&#39;,$data=array())
    {
        if(!is_numeric($code)){
            return "错误";
        }
        $result = array(
            &#39;code&#39; => $code,
            &#39;message&#39; => $message,
            &#39;data&#39; => $data,
        );
        header("Content-Type:text/xml");
        $xml = "<?xml version=&#39;1.0&#39; encoding=&#39;UTF-8&#39;?>\n";
        $xml .= "<root>\n";
        $xml .=self::xmlToEncode($result);
        $xml .="</root>";
        echo $xml;
    }
    //对数据再处理
    public function xmlToEncode($data){
        $xml = $attr ="";
        foreach ($data as $key=>$value){
            if(is_numeric($key)){
                $attr = "id=&#39;{$key}&#39;";
                $key = "item";
            }
            $xml .= "<{$key} {$attr}>";
            $xml .=is_array($value) ? self::xmlToEncode($value):$value;
            $xml .="</{$key}>\n";
        }
        return $xml;
    }
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonDer gesamte Prozess der Entwicklung einer APP-Schnittstelle mit PHP (1). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

CakePHP Datum und Uhrzeit CakePHP Datum und Uhrzeit Sep 10, 2024 pm 05:27 PM

Um in cakephp4 mit Datum und Uhrzeit zu arbeiten, verwenden wir die verfügbare FrozenTime-Klasse.

CakePHP-Datei hochladen CakePHP-Datei hochladen Sep 10, 2024 pm 05:27 PM

Um am Datei-Upload zu arbeiten, verwenden wir den Formular-Helfer. Hier ist ein Beispiel für den Datei-Upload.

Besprechen Sie CakePHP Besprechen Sie CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP ist ein Open-Source-Framework für PHP. Es soll die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich vereinfachen. CakePHP basiert auf einer MVC-ähnlichen Architektur, die sowohl leistungsstark als auch leicht zu verstehen ist. Modelle, Ansichten und Controller gu

CakePHP erstellt Validatoren CakePHP erstellt Validatoren Sep 10, 2024 pm 05:26 PM

Der Validator kann durch Hinzufügen der folgenden zwei Zeilen im Controller erstellt werden.

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein Dec 20, 2024 am 11:31 AM

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

CakePHP-Kurzanleitung CakePHP-Kurzanleitung Sep 10, 2024 pm 05:27 PM

CakePHP ist ein Open-Source-MVC-Framework. Es erleichtert die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich. CakePHP verfügt über eine Reihe von Bibliotheken, um die Überlastung der häufigsten Aufgaben zu reduzieren.

Wie analysiert und verarbeitet man HTML/XML in PHP? Wie analysiert und verarbeitet man HTML/XML in PHP? Feb 07, 2025 am 11:57 AM

Dieses Tutorial zeigt, wie XML -Dokumente mit PHP effizient verarbeitet werden. XML (Extensible Markup-Sprache) ist eine vielseitige textbasierte Markup-Sprache, die sowohl für die Lesbarkeit des Menschen als auch für die Analyse von Maschinen entwickelt wurde. Es wird üblicherweise für die Datenspeicherung ein verwendet und wird häufig verwendet

See all articles