首頁 >後端開發 >php教程 >PHP寫API輸出的時用echo的原因

PHP寫API輸出的時用echo的原因

little bottle
little bottle轉載
2019-04-27 17:01:192382瀏覽

本篇文章主要講述的是PHP寫API輸出的時用echo的原因,具有一定的學習價值,有興趣的朋友可以了解一下。

寫php API寫的很少,最近才開始介面的寫法,在框架裡面一直用return,但是在api中retrun就失效了,為什麼呢?

網友給的答案:

1.return 一般用於函數或方法的回傳。
echo 是輸出(也就是顯示)
如果你不輸出,api有何作用。

2.return只能在php內部使用
對外,你要給別人解析,你就理解成輸出,用echo

3.當然是echo了,如果是json最好加上header標識

<?php
$ret = array(
    &#39;name&#39; => 'fdipzone'
);
header('content-type:application/json;charset=utf8');
echo json_encode($ret);?>

為什麼給app寫介面時,要用echo 返回json資料?

1.給app寫介面時,要用echo json_encode() 來傳回數據,但是PHP自身呼叫卻用return json_encode();

rerurn是語言中函數或方法所代表的值,跟變數一樣,儲存在記憶體中。 return是給其他程式碼區塊一個指標或引用。
而伺服器與app(客戶端)互動時,他們無法讀取同一個記憶體系統,只能透過文字這樣的方式來交換資訊。
所以要echo一段文字(json)給客戶端。
php慣用的輸出流方式就是echo,如果你鍾情於return輸出,可以自創語言來實現。

2.我是這麼理解的,不管什麼程序,你總要輸出吧,那要怎麼輸出呢? PHP腳本,也就是用到 標記起來的這些,都要靠PHP來解析的,那你要輸出一定要用到echo,die,exit,print_r,
用return是輸出不了的,return就是回傳的意思,我(主程式)調方法,方法回我結果。

3.框架本身會對你的函數回傳的字串進行輸出,要輸出最終都是echo。 。只是框架基本上都是封裝了response物件;echo是輸出只有輸出的內容http請求的時候才能取得到
而php內部呼叫沒有http請求

 return 作為函數回傳值或結束語句,是傳回的資料的指標,也就是資料存放的位址,而介面需要回傳的是真實的資料,

因為前後端使用的是不同的記憶體系統,所以無法根據地址找到相應的數據,而echo print sprinf等這些能夠在瀏覽器中打印數據的函數都是基於http協議傳輸的真是數據,所以在前端是可以獲取和判斷的.

##要注意的是,在tp框架中,return關鍵字的確是可以給返回資料的,也就是可以作為介面返回資料關鍵字的,但是用原生的php是不行的,這應該是tp框架內部做過處理了!

 相關教學:

PHP影片教學

以上是PHP寫API輸出的時用echo的原因的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:cnblogs.com。如有侵權,請聯絡admin@php.cn刪除