API数据的数据映射器模式而不是数据库

时间:2014-09-10 00:31:36

标签: php laravel

我在项目中密集使用API​​数据(PHP Laravel项目)。我的所有数据源都来自不同的API调用而不是数据库。我感觉很糟糕,因为Laravel的Eloquent ORM非常方便使用,但我完全不能使用它们。

我只是想知道是否有一个php包可以自动将api调用数据(多维数组)转换为PHP类对象。

例如,通过使用以下数组:

[id:1, name:'Foo', children: [[id: 5, color: 'green'], [id: 5, color: 'red']]]

转换为:

Class Product {
   protected $id;
   protected $name;
   protected $children;
}

我想它可能需要某种YML文件来指示映射逻辑。

1 个答案:

答案 0 :(得分:1)

是的,你可以这样做。排序..

您应该查看Illuminate/Database/Eloquent/ModelIlluminate/Database/Eloquent/Collection类。那些实现了你可能正在寻找的所有接口,比如Jsonable,Arrayable,Countable。

当您从API请求数据时,您可以对模型进行实例化并传递数据。