php - Laravel 消费者和提供者应用架构

标签 php android angularjs laravel-4

我正在使用 Laravel 构建一个帮助用户找到服务提供商的应用程序。将有 2 个应用程序,例如 Uber,1 个供用户使用,1 个供提供商使用。用户将提出请求,根据请求,选定的提供者将收到通知。就像优步一样。

问题是,我应该如何设计这个。我想到了什么:

  1. 2 个应用程序: 有 2 个具有公共(public)数据库的 Laravel 应用程序。但是当用户生成请求时,我如何通知提供者呢?只有 DB 发生了变化,那么如何告诉 Provider App User App 生成了请求?

  2. 单应用 2 前端: 有一个 Laravel 应用程序和 2 个前端。 Play 商店将有单独的应用程序,但只有一个服务器应用程序。我该怎么做?

这种方法有更好的解决方案吗?优步如何做到这一点?

最佳答案

我建议您应该使用给定的服务,例如 PubNub (see Demos) .

这样你可以节省你的服务器开发,还有一个Android-Example 您可以像这样在您的 APP 中简单地使用它:

dependencies {
    ....
    compile 'com.pubnub:pubnub:3.7.4'
    //'com.pubnub:pubnub-android-debug:3.7.+' For the debug version
}

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

如果您想了解 Uber 是如何做到这一点的,请查看教程“The PubNub Connected Car Solution Kit

所以我希望我能回答一下,Uber 是如何做到这一点的,以及如何让它变得更好:-)

关于php - Laravel 消费者和提供者应用架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31261533/

相关文章:

angularjs - AngularJS 中的单元测试 promise 错误 : Expected a spy, 但得到了 getCtrl({ })

javascript - Angular.js ng-repeat 内的 ng-repeat

php - MySQL 错误 - 插入时出现 "You have an error in your SQL syntax"

Android 模拟器显示在左上角

javascript - AngularJS 联系表

java - 如何修复声音?

android - GMS::LocationClient 中的 DeadObjectException (Android)

javascript - 使用 AngularJS 的 window.bind() 类似功能

php - 我有很多 "IF/ELSE"语句,我应该以不同的方式写吗?

php - 分组列总和的sql计数