Cakephp从Model调用组件

时间:2013-08-21 11:34:07

标签: php cakephp

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

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

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

这可能还是有解决方法?

2 个答案:

答案 0 :(得分:2)

  

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

这是完全错误的,主要是因为你不必这样做。从技术上讲,你可以,但建筑明智是错误的。

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

data source page in the CakePHP book附带了一个完整的示例,说明如何创建调用外部API的数据源。

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

答案 1 :(得分:0)

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

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

并且作为您的问题,您可以在此处使用模型中的模型函数。