使用node.js向API发出请求

时间:2014-03-12 14:29:31

标签: php database node.js api request

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

我正在开发一个phonegap +离子框架移动应用程序,我需要实时连接所有移动用户。例如聊天,从API返回的信息,例如:使用API​​存储和检索所有配置文件信息,如姓名,电子邮件,年龄,生日。

我的问题是,这里有可能实现node.js,即使使用API​​返回,插入,更新数据,也可以实时创建应用程序?我需要在用户之间创建交互,例如:有人会实时向其他用户发出朋友请求,如果请求的用户接受请求,则使用api更新mysql数据库,将用户添加到好友列表中。

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

谢谢!

1 个答案:

答案 0 :(得分:3)

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"
         })
     }
 })();

您也可以反向执行此操作,以将消息从服​​务器广播到客户端。 BAM!

最终,您可能希望使用唯一的渠道扩展您的应用,以便每个用户能够与服务器进行私密通信,以及身份验证;我们称之为PubNub Access Manager,它受到了很大的支持。

祝你好运!