PHP写API输出的时用echo的原因
内容导读
收集整理的这篇技术教程文章主要介绍了PHP写API输出的时用echo的原因,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1926字,纯文字阅读大概需要3分钟。
内容图文
本篇文章主要讲述的是PHP写API输出的时用echo的原因,具有一定的学习价值,感兴趣的朋友可以了解一下。写php API写的很少,最近才开始接口的写法,在框架里面一直用return,但是在api中retrun就失效了,为什么呢?
网友给出的答案:
1.return 一般用于函数或方法的返回。
echo 才是输出(也就是显示)
如果你不输出,api有何作用。
2.return只能在php内部使用
对外,你要给别人解析,你就理解成输出,用echo
3.当然是echo了,如果是json最好加上header标识
<?php$ret = array( 'name' => '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 ?> 标记起来的这些,都要靠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的原因的详细内容,更多请关注Gxl网其它相关文章!
内容总结
以上是为您收集整理的PHP写API输出的时用echo的原因全部内容,希望文章能够帮你解决PHP写API输出的时用echo的原因所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。