在CakePHP 1.x/2.x中,通过定义自定义数据源,使模型的数据来自REST API(而不是关系数据库)相当简单.(Neil Crookes的CakePHP-ReST-DataSource-Plugin是一个很好的起点.)在您的模型上压缩您的自定义数据源,您$this->MyModel->find()就像调查一个名为MySQL的表一样进行调用my_models.
我想弄清楚如何在CakePHP 3.0下实现同样的效果.也就是说,对由REST API驱动的表/实体进行find()/ save()/ set()/ get()调用.
由于3.0的ORM系统是A)相当新的,而且B)与旧的做事方式相当大的偏离,我还没有找到关于如何做这样的事情的任何信息.事实上,基于JoséLorenzoRodríguez的SlideShare,听起来似乎不太可能.
这意味着:
- 不会连接到不是关系数据库的东西.
是否有人更熟悉CakePHP 3.0,可以澄清在新的ORM系统下我能找到的东西是否可行?如果是这样,你能解释一下你必须扩展或实现哪些类来实现这样的功能吗?
如果要使用CakePHP提供的接口和类为Rest数据源创建完整的适配器,请查看CakePHP团队为Elastic Search制作数据源的早期实验.
Elastic Search使用Rest API,此插件尝试创建类似于CakePHP ORM的类:
https://github.com/cakephp/elastic-search
它实现的基本如下:
在不久的将来,它将提供一个paginator适配器和一个表单助手适配器.
如果你想省去这个麻烦,因为对你而言,将数据源暴露为类似ORM的东西几乎没有价值,你可以使用guzzle或任何类似的库与你的API接口并将其用作服务而不是完整的层.
| 归档时间: |
|
| 查看次数: |
2575 次 |
| 最近记录: |