如何使用laravel 5.5

时间:2017-10-06 05:38:04

标签: php json laravel laravel-5

如何在维护MVC格式的同时使用laravel 5.5从api url读取JSON。

我已经搜索过很多关于它的信息,但找不到任何答案。

有很多方法可以使用ajax读取/发布JSON,但这会损害架构,所以我想使用controller来解析JSON然后传递给view。 或者是否有办法先将json解析为模型?

还有一个解决JSON的简单解决方案,虽然简单的PHP如下:

$rUrl = 'http://example.com/api/products';

$data = json_decode(file_get_contents($rUrl), true);

return view('mydata')->withData($data);

但在laravel中有没有更好的方法来处理这个问题? 在其他方面我可以保持标题和JSON结果在laravel?

是我的问题不明确请评论纠正。 任何帮助,将不胜感激。 在此先感谢!

1 个答案:

答案 0 :(得分:1)

在laravel你可以去Guzzle Package。

https://github.com/guzzle/guzzle

如果您使用的是get请求,那么您可以使用file_get_contents.But如果您要发送帖子请求,那么您可以更好地使用curl

file_get_contents - 这是一个获取文件内容的函数(只需查看源项,即输出html文件内容)。

curl - 这是一个可以执行更多操作的库,例如获取像file_get_contents这样的内容,从一个站点向另一个站点发送和接收数据,它还支持不同类型的协议,如http, https,ftp,gopher,telnet,dict,file和ldap。 curl还支持HTTPS证书,HTTP POST,HTTP PUT,FTP上传基于HTTP表单的上传,代理,cookie。

如果您正在寻找mvc模式,那么您可以在helper类中创建静态方法来处理不同类型的请求,以便您可以调用这些方法

Guzzle文档

http://docs.guzzlephp.org/en/stable/

http://itsolutionstuff.com/post/laravel-guzzle-http-client-post-request-exampleexample.html

http://www.expertphp.in/article/laravel-php-guzzle-http-client-get-and-post-request-example

https://www.youtube.com/watch?v=y6Zz-kgf4L8