1

我的一个视图必须显示来自外部 API 调用的数据。

为了管理所有这些 API 调用,我创建了一个组件。

现在为了进行分页,我必须在我的模型中创建一个函数,但是因为我没有使用模型表而是组件,我必须在我的模型中调用该组件。

这是可能的还是有解决方法?

4

2 回答 2

2

为了管理所有这些 API 调用,我创建了一个组件。

这是完全错误的,主要是因为您不必这样做。从技术上讲,您可以,但在架构方面是错误的。

在 CakePHP 中实现 API 访问的最正确方法是为该 API 创建一个数据源并将该数据源与模型一起使用。

CakePHP 书中的数据源页面附带了一个完整的示例,说明如何创建调用外部 API 的数据源。

将其作为数据源允许您将 API 与多个模型一起使用,如果 API 提供不同的东西,这是有意义的。例如,您可以有一个 GithubUser 和一个使用 GithubDatasource 的 GithubRepository 模型。此外,数据源比组件更容易测试。

于 2013-08-21T12:22:57.813 回答
0

我会建议通过在模型中创建函数来更好地将组件的所有功能实现到模型中。

您可以为多控制器共享该模型。

作为你的问题,在这里你可以在模型中使用你的模型函数。

于 2013-08-21T12:02:55.597 回答