roh*_*u19 16 php android angularjs laravel-4
我正在使用Laravel构建一个帮助用户找到服务提供商的应用程序.将有2个应用程序,如优步,1个用户和1个提供商.用户将发出请求,并根据请求,所选提供商将收到通知.就像优步一样.
问题是,我应该如何设计这个.我想出了什么:
2 APPS:拥有2个具有通用数据库的Laravel应用程序.但是,当用户生成请求时,如何通知提供商?只有数据库发生了变化,那么我如何告诉提供者应用程序用户应用程序生成请求?
Single App 2 FrontEnds:拥有一个Laravel应用程序和2个前端.Play商店将有单独的应用程序,但单个服务器应用程序.我怎样才能做到这一点?
这种方法有更好的解决方案吗?优步如何做同样的事情?
这样你可以保存你的服务器开发,还有一个Android-Example 你可以在你的APP中简单地使用它,如下所示:
dependencies {
....
compile 'com.pubnub:pubnub:3.7.4'
//'com.pubnub:pubnub-android-debug:3.7.+' For the debug version
}
Run Code Online (Sandbox Code Playgroud)
和
import com.pubnub.api.*;
import org.json.*;
Pubnub pubnub = new Pubnub("demo", "demo");
try {
pubnub.subscribe("my_channel", new Callback() {
@Override
public void connectCallback(String channel, Object message) {
pubnub.publish("my_channel", "Hello from the PubNub Java SDK", new Callback() {});
}
@Override
public void disconnectCallback(String channel, Object message) {
System.out.println("SUBSCRIBE : DISCONNECT on channel:" + channel
+ " : " + message.getClass() + " : "
+ message.toString());
}
public void reconnectCallback(String channel, Object message) {
System.out.println("SUBSCRIBE : RECONNECT on channel:" + channel
+ " : " + message.getClass() + " : "
+ message.toString());
}
@Override
public void successCallback(String channel, Object message) {
System.out.println("SUBSCRIBE : " + channel + " : "
+ message.getClass() + " : " + message.toString());
}
@Override
public void errorCallback(String channel, PubnubError error) {
System.out.println("SUBSCRIBE : ERROR on channel " + channel
+ " : " + error.toString());
}
}
);
} catch (PubnubException e) {
System.out.println(e.toString());
}
Run Code Online (Sandbox Code Playgroud)
如果您正在寻找Uber如何做到这一点的想法,请查看教程" The PubNub Connected Car Solution Kit "
所以我希望我能回答,优步如何做到这一点以及如何让它变得更好:-)
小智 5
我认为一个好的解决方案是将所有业务逻辑放入一个可通过REST访问的Laravel应用程序中.因此您不必两次更新文件.
"真正的"应用程序仅作为中间层使用此API.
例如,您可以在前面设置Angular Apps.如果使用nginx,则可以为每个域定义不同的位置.这样,以"api"开头的所有请求都将路由到您的Laravel应用程序.其余的路由到您的静态Angular应用程序.
{
listen 80;
server_name customer.com;
location /api{
root /var/www/api;
}
location / {
root /var/www/static/customer;
}
}
{
listen 80;
server_name internalarea.com;
location /api{
root /var/www/api;
}
location / {
root /var/www/static/restricted;
}
}
Run Code Online (Sandbox Code Playgroud)
如果您使用Laravel构建前端应用程序,API将成为前端系统使用的自己的URL.为了做这个请求,我喜欢使用Zend\Http\Client,这非常舒服.