我有一个使用精益启动方法开发的ZF1项目。我现在准备进入一个更进化的项目,因为我知道我的用户需要什么,但我真的想要开发更好的技术。我决定从ZF1转移到ZF2,这是我所在的位置:Api-Admin-Client应用程序的最佳ZF2体系结构
API(客户端) - 我有一个“仅推送”API,用户用来向我发送数据 API(管理员) - 管理员可以使用各种指标和聚合消耗推送的数据
客户端的API很安静,但只是当前进入Redis作业队列,并通过cron进行处理,这消除了客户端等待他们的数据将被插入并且他们的请求被立即返回。
管理员的API目前并不稳定,实际上只是在应用程序内部消耗,我认为这是可以的,因为我不希望有单个页面前端或API消耗前端。我宁愿数据立即由服务器返回。
这给我留下了一个问题,即我是否有一个API服务模块,它提供了所有模型(Doctrine2 ODM POPO),映射器,过滤器和服务层来访问它,然后需要它的控制器可以消费API而不发出HTTP请求(通过服务调用)。
这是结构的正确方法还是存在更精确和可接受的方法?一般情况下,我喜欢服务层,因为测试会更加准确,所有客户端/管理员都使用相同的API(如果它更新,实质上立即更新,因为没有单独的项目)。