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