ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

php-使用node.js向API发出请求

2019-11-22 02:32:52  阅读:397  来源: 互联网

标签:node-js request api php database


我正在使用Phalcon Framework的微应用程序功能在PHP中开发API.该API包括接收GET,POST,PUT,DELETE请求,然后以JSON格式从MySQL数据库返回结果(API可以访问数据库).

我也在开发一个phonegap ionic框架移动应用程序,我需要实时连接所有移动用户.诸如聊天之类的东西,其中包含从API返回的信息,例如:所有配置文件信息(例如姓名,电子邮件,年龄,生日)都将使用API​​进行存储和检索.

我的问题是,即使使用API​​返回,插入,更新数据,也可以在此处实现node.js以使应用程序实时运行吗?我将需要在用户之间创建交互,例如:有人将实时向另一个用户发出朋友请求,如果被请求的用户接受邀请,它将使用api更新mysql数据库,并将用户添加到朋友列表中.

我想使用API​​,因为我不想给未来的开发人员数据库访问权限.但是性能是我的首要任务.

谢谢!

解决方法:

Node.js是制作实时框架以将用户链接到RESTful后端的理想选择.但是,您也可以考虑使用托管的实时消息传递服务(例如PubNub)在用户和PHP后端之间实时传递数据.

使用PubNub的PHP Api,您可以将服务器设置为侦听事件:

$pubnub = new Pubnub(
    "demo",  ## PUBLISH_KEY
    "demo",  ## SUBSCRIBE_KEY
    "",      ## SECRET_KEY
    false    ## SSL_ON?
);
$pubnub->subscribe(array(
    'channel'  => 'hello_world',        ## REQUIRED Channel to Listen
    'callback' => function($message) {  ## REQUIRED Callback With Response
        ## Do all the awesome stuff your server does
        return true;         ## Keep listening (return false to stop)
    }
));

现在您的服务器已订阅您的频道,您也可以让您的客户端也订阅,以监听全局事件.我将以JavaScript SDK为例,但每个大型移动平台也都有一个SDK:

     var pubnub = PUBNUB.init({
         publish_key   : 'demo',
         subscribe_key : 'demo'
     })

     function publish() {
         pubnub.publish({
             channel : "hello_world",
             message : "Bob added Stan as a friend"
         })
     }
 })();

您也可以相反地执行此操作,以将消息从服​​务器广播到客户端. am!

最终,您可能希望为每个用户扩展一个唯一的渠道,以便能够与服务器私下通信以及进行身份验证.我们将其称为PubNub Access Manager,并且受到了大力支持.

祝好运!

标签:node-js,request,api,php,database
来源: https://codeday.me/bug/20191122/2056163.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有