PHP寫API輸出的時(shí)用echo的原因詳解_第1頁(yè)
PHP寫API輸出的時(shí)用echo的原因詳解_第2頁(yè)
PHP寫API輸出的時(shí)用echo的原因詳解_第3頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第PHP寫API輸出的時(shí)用echo的原因詳解寫phpAPI寫的很少,最近才開(kāi)始接口的寫法,在框架里面一直用return,但是在api中retrun就失效了,為什么呢?

網(wǎng)友給出的答案:

1.return一般用于函數(shù)或方法的返回。

echo才是輸出(也就是顯示)

如果你不輸出,api有何作用。

2.return只能在php內(nèi)部使用

對(duì)外,你要給別人解析,你就理解成輸出,用echo

3.當(dāng)然是echo了,如果是json最好加上header標(biāo)識(shí)

$ret=array(

'name'='fdipzone'

header('content-type:application/json;charset=utf8');

echojson_encode($ret);

為什么給app寫接口時(shí),要用echo返回json數(shù)據(jù)

1.給app寫接口時(shí),要用echojson_encode()來(lái)返回?cái)?shù)據(jù),但是PHP自身調(diào)用卻用returnjson_encode();

rerurn是語(yǔ)言中函數(shù)或者方法所代表的值,跟變量一樣,儲(chǔ)存在內(nèi)存中。return是給其他代碼塊一個(gè)指針或者引用。

而服務(wù)器與app(客戶端)交互時(shí),他們無(wú)法讀取同一個(gè)內(nèi)存系統(tǒng),只能通過(guò)文本這樣的方式來(lái)交換信息。

所以要echo一段文本(json)給客戶端。

php慣用的輸出流方式就是echo,如果你鐘情于return輸出,可以自創(chuàng)一門語(yǔ)言來(lái)實(shí)現(xiàn)。

2.我是這么理解的,不管什么程序,你總要輸出吧,那怎么輸出呢?PHP腳本,也就是用到php標(biāo)記起來(lái)的這些,都要靠PHP來(lái)解析的,那你要輸出肯定要用到echo,die,exit,print_r,

用return是輸出不了的,return就是返回的意思,我(主程序)調(diào)方法,方法給我返回結(jié)果。

3.框架本身會(huì)對(duì)你的函數(shù)返回的字符串進(jìn)行輸出,要輸出最終都是echo。。只是框架基本都是封裝了response對(duì)象;echo是輸出只有輸出的內(nèi)容http請(qǐng)求的時(shí)候才能獲取到

而php內(nèi)部調(diào)用沒(méi)有http請(qǐng)求

return作為函數(shù)返回值或結(jié)束語(yǔ)句,是返回的數(shù)據(jù)的指針,也就是數(shù)據(jù)存放的地址,而接口需要返回的是真實(shí)的數(shù)據(jù),

因?yàn)榍昂蠖耸褂玫氖遣煌膬?nèi)存系統(tǒng),所以無(wú)法根據(jù)地址找到相應(yīng)的數(shù)據(jù),而echoprintsprinf等這些能夠在瀏覽器中打印數(shù)據(jù)的函數(shù)都是基于http協(xié)議傳輸?shù)恼媸菙?shù)據(jù),所以在前端是可以獲取和判斷的.

需要注意的是,在tp框架中,return關(guān)鍵字的確是可以給返回?cái)?shù)據(jù)的,也就是可以作為接口返回?cái)?shù)據(jù)關(guān)鍵字的,但是用原生的php是不行的,這應(yīng)該是

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論