Cakephp从Model调用组件


Cakephp calling component from Model

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

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

现在,为了计算paginate的成本,我必须在我的模型中创建一个函数,但由于我不是使用models表,而是使用组件,所以我必须在模型中调用该组件。

这有可能吗?或者有工作要做吗?

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

这显然是错误的,主要是因为你不必这么做。从技术上讲,你可以,但从架构角度来看,这是错误的。

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

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

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

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

并且您可以共享多路径控制器的模型。

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