我正在使用Phalcon Framework的微应用程序功能在PHP中开发API。此API包括接收GET,POST,PUT,DELETE请求,然后以JSON格式从MySQL数据库(API可以访问数据库)返回结果。
我正在开发一个phonegap +离子框架移动应用程序,我需要实时连接所有移动用户。例如聊天,从API返回的信息,例如:使用API存储和检索所有配置文件信息,如姓名,电子邮件,年龄,生日。
我的问题是,这里有可能实现node.js,即使使用API返回,插入,更新数据,也可以实时创建应用程序?我需要在用户之间创建交互,例如:有人会实时向其他用户发出朋友请求,如果请求的用户接受请求,则使用api更新mysql数据库,将用户添加到好友列表中。
我想使用API因为我不想给未来的开发人员提供数据库访问权限。但性能是我的首要任务。
谢谢!
答案 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,它受到了很大的支持。
祝你好运!