ホームページ > 記事 > CMS チュートリアル > dedecms が API インターフェイスを記述する方法
json データ形式は、異なるサイト間でのデータの呼び出しと参照を容易にします。もちろん、DEDECMS は、他のサイトが呼び出すためのサイト全体のデータの JSON を生成することもできます。コードは非常にシンプルです。主に include/json.class.php を使用します。
Dreamweaver 自体には独自の json タグがあります。呼び出しメソッド:
{dede:json url='http://yoursite/json.php' cache=300} [field:id/]-[field:title/]<br/> {/dede:json}
このタグ呼び出しの例は、Dreamweaver マニュアルで提供されています。URL は次のとおりです。リモート JSON インターフェイス アドレス。このインターフェイス ファイルの json.php コードでは、最終的な戻り値は json_encode($feeds) システム関数を通じてデータを渡す必要があります。JSON エンコード後、echo または print() を通じて出力します。この 2 点が必要で、フォアグラウンドの $.ajax() または $.getjson() を通じてデータを取得できます。 DreamWeaver システムは、include/json.class.php ファイルに json クラスを提供します。つまり、php ファイルの json エンコーディングを変換するとき、次の 2 つのメソッドがあります:
# 1. PHP システムが提供するシステム関数 json_encode() を直接使用します。シンプルで手間がかからないので、ぜひ使用することをお勧めします。PHP システムが提供するものなので、DreamWeaver が提供するものは使用できません。システム。
2. DreamWeaver システムが提供する encode() を使用します。使用する前に、まず json.class.php、つまり
require_once(DEDEINC.'/json.class.php'); $json = new Services_JSON(SERVICES_JSON_SUPPRESS_ERRORS); echo $json->encode($reval);
を導入します。変数 $reval はデータベースなどから取得したもので、通常は
Array ( [0] => Array ( [id] => 95 [title] => 原图设计) [1] => Array ( [id] => 113 [title] => ssssssssssss) [2] => Array ( [id] => 111 [title] => hjhj ) [3] => Array ( [id] => 110 [title] => ssssssssssss) )のような 2 次元配列になります。 echo 後の表示内容は次のとおりです。
[ {"id":"95","title":"\u539f\u521b"}, {"id":"113","title":"ssssssssssss"}, {"id":"111","title":"hjhj"}, {"id":"110","title":"ssssssssssss"} ]
これは、encoding() または json_encode() を使用した後に表示されるコンテンツです。つまり、角括弧で囲まれた複数の json データが、要求された $.ajax() または $.getjson() に返され、そこでデータが処理され、必要な結果が表示されます。
まず、新しい PHP ファイルを作成し、 json.php (新しいフォルダーを作成して api という名前を付けることもできます。その場合、PHP にはindex.phpという名前が付けられます。そのため、呼び出すときは、 http://ドメイン名/api のように呼び出すだけで済みます。これは、呼び出されたものとして使用されます。 API インターフェイス。コードは次のとおりです:
<?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.'/json.class.php'); $reval = array(); $dsql->SetQuery("SELECT id,title FROM `dede_archives` ORDER BY id DESC LIMIT 0,10"); $dsql->Execute('me'); while ($row = $dsql->GetArray('me')) { $row['title'] = gb2utf8($row['title']); $reval[] = $row; } $json = new Services_JSON(SERVICES_JSON_SUPPRESS_ERRORS); echo $json->encode($reval); ?>ここのコードは GBK から UTF8 に変換されているため、DEDECMS の GBK バージョンと互換性があります呼び出しメソッド:
{dede:json url='http://域名/json.php' cache=300} [field:id/]-[field:title/]<br/> {/dede:json}必要な場所に呼び出しコードを配置するだけですcache=300 キャッシュ時間、0 はキャッシュなしを意味します
##推奨: d
edecms 使用法チュートリアル以上がdedecms が API インターフェイスを記述する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。