对于我的最新项目,我需要从另一个数据 API(特别是 Instagram)中提取额外数据,并将其与用户存储的数据库信息一起显示。我想以一种与现有 Cake 数据库调用很好地挂钩的方式来完成它,将信息添加到返回的用户数组中。
虽然我知道我可以通过在模型中实现一个新方法来做到这一点,但理想情况下,我希望以一种自动将该信息添加到对 User 模型的所有调用的方式来做到这一点,而不仅仅是在我调用自定义方法时;这甚至可能吗?
对于我的最新项目,我需要从另一个数据 API(特别是 Instagram)中提取额外数据,并将其与用户存储的数据库信息一起显示。我想以一种与现有 Cake 数据库调用很好地挂钩的方式来完成它,将信息添加到返回的用户数组中。
虽然我知道我可以通过在模型中实现一个新方法来做到这一点,但理想情况下,我希望以一种自动将该信息添加到对 User 模型的所有调用的方式来做到这一点,而不仅仅是在我调用自定义方法时;这甚至可能吗?
是的,它被称为数据源。本书附带了一个完整的示例,说明如何使用数据源与外部 API 对话。
当您为您的 API 实现数据源时,您可以将它与任何模型一起使用(将其配置为使用数据源)并且只需进行 read()、save() 和 find() 调用。
还有一个包含 CakePHP 数据源的存储库,不包括 instragram,但您可能希望查看示例实现。