具有API外部数据的Symfony 2项目

具有API外部数据的Symfony 2项目,symfony,sugarcrm,Symfony,Sugarcrm,我想将新的symfony 2项目与现有的CRM REST API连接起来。因此,我希望用户在我的项目中看到他们的CRM数据。 从外部API获取实体(用户、合同、票据等)数据的最佳方式是什么 我对这个框架不太熟悉,但这是我的想法: 创建实体 为CRM的外部API请求创建服务 3.是否将实体与CRM中的相应记录连接 创建缓存系统,使数据仅每1或2小时更新一次 有没有更好的方法以及如何实现第3点 谢谢并致以最良好的问候 Stefan有几种方法可以做到这一点: 最简单的方法是不在Symfony中导入数据

我想将新的symfony 2项目与现有的CRM REST API连接起来。因此,我希望用户在我的项目中看到他们的CRM数据。 从外部API获取实体(用户、合同、票据等)数据的最佳方式是什么

我对这个框架不太熟悉,但这是我的想法:

  • 创建实体
  • 为CRM的外部API请求创建服务 3.是否将实体与CRM中的相应记录连接
  • 创建缓存系统,使数据仅每1或2小时更新一次
  • 有没有更好的方法以及如何实现第3点

    谢谢并致以最良好的问候


    Stefan有几种方法可以做到这一点:

  • 最简单的方法是不在Symfony中导入数据,而是通过客户关系管理中的Ajax请求获取数据,并将其添加到Symfony应用程序中。为此,您可以使用主干、ReactJs或AngularJs等。在这种情况下,Symfony将管理除从您的CRM获取的数据之外的所有内容

  • 另一种方法:为要导入的所有数据类型创建实体。创建一个服务来管理从CRM导入的数据。创建将运行此服务的命令并将其附加到cronjob。在导入服务中,使用Guzzle从CRM获取数据,并使用JMSSerializerBundle将导入的数据转换为实体。您可以使用这个捆绑包:对于这项工作,它将Guzzle集成到Symfony和JMSSerializerBundle中


  • 希望能有所帮助

    嘿,非常感谢您的回复。我想我更喜欢你的第一个建议。我是否可以使用symfony内置AppCache来缓存某些请求,以便在每次刷新站点时都不会请求数据?还是有更好的缓存/会话/保存方法?答案很好,两种方法都很有趣。我认为这只是一种解决方法,而不是解决方案。1.第一个解决方案似乎完全是前端任务。但是缓存呢?或者我们已经有了后端代码来处理DB源代码。2.由于某些原因(巨大的尺寸、速度、可靠性),现有的API可能不可导入。