Maison > Tutoriel CMS > DEDECMS > le corps du texte

Comment dedecms écrit l'interface API

Libérer: 2019-07-31 10:56:28
original
5833 Les gens l'ont consulté

Comment dedecms écrit l'interface API

Le format de données JSON peut faciliter l'appel et la référence des données entre différents sites. Bien sûr, notre DEDECMS peut également générer du JSON pour l'ensemble des données du site pour que d'autres sites puissent l'appeler. simple et principalement utilisé include/json.class.php.

Dreamweaver lui-même possède sa propre balise json, la méthode d'appel :

{dede:json url='http://yoursite/json.php' cache=300}
[field:id/]-[field:title/]<br/>
{/dede:json}
Copier après la connexion


Cet exemple d'appel de balise nous a été fourni dans le manuel de Dreamweaver, l'URL est une adresse d'interface json distante. Dans le code json.php de ce fichier d'interface, le retour final doit être de transmettre les données via la fonction système json_encode($feeds) Après l'encodage json, imprimez-les via echo ou print(). fonction.Ces deux points sont nécessaires. Ensuite, nous pouvons obtenir les données via $.ajax() ou $.getjson() au premier plan. Le système Dreamweaver nous fournit une classe json dans le fichier include/json.class.php C'est-à-dire que lorsque nous convertissons l'encodage json du fichier php, nous avons deux méthodes :

. 1. Utilisez directement la fonction système json_encode() fournie par le système PHP. J'encourage tout le monde à l'utiliser, qui est simple et sans problème. Puisque le système PHP nous la fournit, nous ne pouvons pas utiliser celle fournie par. le système DreamWeaver.

2. Utilisez le encode() fourni par le système DreamWeaver Avant de l'utiliser, introduisez d'abord json.class.php, c'est-à-dire :

require_once(DEDEINC.&#39;/json.class.php&#39;);
$json = new Services_JSON(SERVICES_JSON_SUPPRESS_ERRORS);
echo $json->encode($reval);
Copier après la connexion


La variable $reval est ce que nous obtenons de la base de données ou d'autres endroits. Il s'agit généralement d'un tableau bidimensionnel, par exemple :

  Array (
  [0] => Array ( [id] => 95 [title] => 原图设计)
  [1] => Array ( [id] => 113 [title] => ssssssssssss)
  [2] => Array ( [id] => 111 [title] => hjhj )
  [3] => Array ( [id] => 110 [title] => ssssssssssss)
     )
Copier après la connexion

Après écho, le contenu affiché est le suivant.

  [
   {"id":"95","title":"\u539f\u521b"},
   {"id":"113","title":"ssssssssssss"},
   {"id":"111","title":"hjhj"},
   {"id":"110","title":"ssssssssssss"}
  ]
Copier après la connexion



Il s'agit du contenu affiché après encoding() ou en utilisant json_encode(). Autrement dit, plusieurs données json entre crochets sont renvoyées au $.ajax() ou $.getjson() demandé, qui traite les données et affiche les résultats souhaités.

Maintenant que vous connaissez le principe, l'étape suivante est la méthode détaillée d'implémentation, comme suit :

Créez d'abord un nouveau fichier PHP et nommez-le json.php ( vous pouvez également créer un nouveau dossier et le nommer api, puis PHP est nommé index.php, donc lors de l'appel, il vous suffit de l'appeler comme http://votre nom de domaine/api), qui est utilisé comme appelé Interface API. Le code est le suivant :

<?php
$cfg_NotPrintHead = false;
header("Content-Type: text/html; charset=utf-8");
include_once (dirname(__FILE__)."/../include/common.inc.php");
error_reporting(E_ALL || ~E_NOTICE);
require_once(DEDEINC.&#39;/json.class.php&#39;);
$reval = array();
$dsql->SetQuery("SELECT id,title FROM `dede_archives` ORDER BY id DESC LIMIT 0,10");
$dsql->Execute(&#39;me&#39;);
while ($row = $dsql->GetArray(&#39;me&#39;)) {
$row[&#39;title&#39;] = gb2utf8($row[&#39;title&#39;]);
$reval[] = $row;
}
$json = new Services_JSON(SERVICES_JSON_SUPPRESS_ERRORS);
echo $json->encode($reval);
?>
Copier après la connexion

Le code ici a été converti de GBK en UTF8, il est donc compatible avec la version GBK de DEDECMS

Méthode d'appel :

{dede:json url=&#39;http://域名/json.php&#39; cache=300}
[field:id/]-[field:title/]<br/>
{/dede:json}
Copier après la connexion

Mettez simplement le code d'appel là où vous en avez besoin

cache=300 temps de cache, 0 signifie pas de mise en cache

Recommandé : dTutoriel d'utilisation d'edecms

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal