cms提供直接輸出、PHP代碼體兩種方便開發(fā)者使用的數(shù)據(jù)輸出接口。
我們提供的服務(wù)有:成都做網(wǎng)站、網(wǎng)站制作、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、田東ssl等。為成百上千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的田東網(wǎng)站制作公司
1、直接輸出
本類型是將后臺錄入的數(shù)據(jù)格式原樣輸出到客戶端
返回格式為:
array(3) { ["code"]= int(1) ["msg"]= string(2) "ok" ["data"]= string(7) "test123" }
2、JSON數(shù)組
本類型數(shù)據(jù)內(nèi)容必須是一個json格式的數(shù)組字符串
返回格式為:
array(3) { ["code"]= int(1) ["msg"]= string(2) "ok" ["data"]= array(3) { [0]= string(1) "1" [1]= string(1) "2" [2]= string(1) "3" } }
3、php執(zhí)行代碼
4、模板查詢標(biāo)簽
本類型需要有CMS模板標(biāo)簽的使用經(jīng)驗(yàn),直接寫標(biāo)簽代碼返回結(jié)果
例如調(diào)用news模塊全部數(shù)據(jù):
{module module=news} 或者 {list action=module module=news}
模板標(biāo)簽只能寫一段,不能寫多段
通過以上的list查詢方法可調(diào)用循環(huán)標(biāo)簽的全部數(shù)據(jù),當(dāng)然你可以對結(jié)果進(jìn)行格式化處理,使用回調(diào)方法。
5、自定義模板標(biāo)簽
本類型需要有CMS模板標(biāo)簽的使用經(jīng)驗(yàn),直接寫標(biāo)簽代碼返回結(jié)果,區(qū)別于(4),本類型可以直接在標(biāo)簽里面寫賦值方法和格式化顯示,不需要寫回調(diào)方法
這里循環(huán)出news模塊的全部數(shù)據(jù),只顯示id,title,再把thumb轉(zhuǎn)換為url地址。
也可以這樣寫,原理是將輸出變量賦值給$api數(shù)組:
{module module=news} {php $api[$key]['id']=$t['id'];} {php $api[$key]['title']=$t['title'];} {php $api[$key]['thumb']=dr_thumb($t['thumb'], 200,200);} {/module}
以上語法格式為:
6、自定義PHP代碼
本類型需要有PHP的開發(fā)使用經(jīng)驗(yàn),直接將php業(yè)務(wù)代碼寫進(jìn)去
$api變量為直接返回,例如:
$api = '我的自定義返回變量值';
返回截圖如下:
也可以自定義強(qiáng)制返回
$api = '我的自定義返回變量值'; PhpcmfService::C()-_json(1, '我的返回腳本成功了', $api); // 成功寫法 PhpcmfService::C()-_json(0, '我的返回腳本失敗了'); // 失敗寫法
什么是封裝? ------------------------------------
封裝是php面向?qū)ο蟮钠渲幸粋€特性,將多個可重復(fù)使用的函數(shù)封裝到一個類里面。在使用時直接實(shí)例化該類的某一個方法,獲得需要的數(shù)據(jù)
如果是私有的方法和屬性值,外部無法訪問,具有一定的保護(hù)作用。
《封裝即隱藏》
public
當(dāng)類的成員被聲明為public的訪問修飾符時,該成員能被外部代碼訪問和操作。
private(私有的)
被定義為private的成員,對于類內(nèi)部所有成員都可見,沒有訪問限制。對類外部不允許訪問。
protected(受保護(hù)的)
protected稍微有點(diǎn)復(fù)雜,被聲明為protected的成員,只允許該類的子類進(jìn)行訪問。
什么是抽象?抽象的關(guān)鍵字以及用法-----------------------------------
定義為抽象的類不能被實(shí)例化。任何一個類,如果它里面至少有一個方法是被聲明為抽象的,那么這個類就必須被聲明為抽象的。被定義為抽象的方法只是聲明了其調(diào)用方式(參數(shù)),不能定義其具體的功能實(shí)現(xiàn)。
abstract
一個類中至少有一個方法是抽象的,我們稱之為抽象類。所以如果定義抽象類首先定義抽象方法。
abstract class class1{
abstract function fun1();
……
}
抽象類的幾個特點(diǎn):
1、不能被實(shí)例化,只能被繼承
2、繼承的派生類當(dāng)中要把所有抽象方法重載才能實(shí)例化
什么是接口?接口的關(guān)鍵字以及用法--------------------
PHP 類是單繼承,也就是不支持多繼承,當(dāng)一個類需要多個類的功能時,繼承就無能為力了,為此 PHP 引入了類的接口技術(shù)。
如果一個抽象類里面的所有方法都是抽象方法,且沒有聲明變量,而且接口里面所有的成員都是 public 權(quán)限的,那么這種特殊的抽象類就叫 接口 。
implements
class 子類 extends 父類 implemtns 接口1, 接口2, ...
{
......
}
接口是特殊的抽象類,也可以看做是一個模型的規(guī)范。接口與抽象類大致區(qū)別如下:
一個子類如果 implements 一個接口,就必須實(shí)現(xiàn)接口中的所有方法(不管是否需要);如果是繼承一個抽象類,只需要實(shí)現(xiàn)需要的方法即可。
如果一個接口中定義的方法名改變了,那么所有實(shí)現(xiàn)此接口的子類需要同步更新方法名;而抽象類中如果方法名改變了,其子類對應(yīng)的方法名將不受影響,只是變成了一個新的方法而已(相對老的方法實(shí)現(xiàn))。
抽象類只能單繼承,當(dāng)一個子類需要實(shí)現(xiàn)的功能需要繼承自多個父類時,就必須使用接口。
區(qū)別:
1、對接口的使用是通過關(guān)鍵字implements。對抽象類的使用是通過關(guān)鍵字extends。當(dāng)然接口也可以通過關(guān)鍵字extends繼承。
2、接口中不可以聲明成員變量(包括類靜態(tài)變量),但是可以聲明類常量。抽象類中可以聲明各種類型成員變量,實(shí)現(xiàn)數(shù)據(jù)的封裝。(另JAVA接口中的成員變量都要聲明為public static final類型)
3、接口沒有構(gòu)造函數(shù),抽象類可以有構(gòu)造函數(shù)。
4、接口中的方法默認(rèn)都是public類型的,而抽象類中的方法可以使用private,protected,public來修飾。
5、一個類可以同時實(shí)現(xiàn)多個接口,但一個類只能繼承于一個抽象類。
抽象類還是接口。
如果要創(chuàng)建一個模型,這個模型將由一些緊密相關(guān)的對象采用,就可以使用抽象類。如果要創(chuàng)建將由一些不相關(guān)對象采用的功能,就使用接口。
如果必須從多個來源繼承行為,就使用接口。
如果知道所有類都會共享一個公共的行為實(shí)現(xiàn),就使用抽象類,并在其中實(shí)現(xiàn)該行為。
都一樣的 只是由于app不是瀏覽器不能正常使用cookie所以不支持session認(rèn)證 在做app接口的時候一般都會使用自己定義的token來認(rèn)證 其他的都是一致的