zoukankan      html  css  js  c++  java
  • CMS如何提供XML格式的接口

    在做APP的过程中,需要服务端的接口数据。

    是用Json格式还是Xml格式呢,很多人会说还是xml习惯。

    然而PHP更适合返回的还是json,php核心库中就包含了json编码的函数,可以直接将数组转json;而生成xml则会比较麻烦。

    忽然看到一篇文章:http://www.jcodecraeer.com/a/phpjiaocheng/2013/1009/1567.html

    发现还挺受启发的。

    他是利用各种框架中的模版引擎,直接定义xml的数据结构,关键处通过模版变量赋值。

    他是以DedeCMS举例。

    因为织梦的模版引擎是一款通用的模版引擎,不限于html。

    比如在模版文件中,定义:

    <?xml version="1.0" encoding="UTF-8"?>
        <jcodecraeer>
                <blog>
                    <id>{dede:field.id/}</id>
                    <title><![CDATA[{dede:field.title/}]]></title>   
                    <author>{dede:field.authoranme/}</author>
                    <url>http://www.jcodecraeer.com{dede:field.arcurl/}</url>
                    <body>
                        <![CDATA[
                        
                     <h4> {dede:field.title/} </h4>
                     <div>
                     <span style='color:#333333;font-size:12px;padding-right:15px;'>{dede:field.authoranme/}</span>
                     <span style='color:#333333;font-size:12px;padding-right:15px;'> {dede:field.pubdate function="MyDate('Y-m-d H:i:s',@me)"/}</span></div> 
                     {dede:field.body /}
                       ]]>
                    </body>
                    <pubDate>{dede:field.pubdate function="MyDate('Y-m-d H:i:s',@me)"/}</pubDate>
                    <commentCount>{dede:field.id runphp=’yes’}$dsql = new dedesql(false);$dsql -> SetQuery(“Select count(id) as c from dede_feedback where aid=”.@me);$row = $dsql -> getone();@me=$row['c'];{/dede:field.id}</commentCount>
                </blog>
        </jcodecraeer>

    最后会被模版引擎将变量处赋值,整个体系非常优雅,避免了业务代码中穿插视图的处理。

  • 相关阅读:
    前端常用js库地址
    react简介
    es6 decorator
    es6 之 class
    es6之对象扩展
    vs code 默认浏览器
    不同环境查看是否可访问外网、访问网址、ip地址、外网ip地址
    httprunner2简单了解,httprunner可实现的功能,jmeter均可实现,所以,未深入学习
    结构化问答
    《大数的认识》
  • 原文地址:https://www.cnblogs.com/x3d/p/3560274.html
Copyright © 2011-2022 走看看