Php 将JSON中的信息编组到MVC模型类中

Php 将JSON中的信息编组到MVC模型类中,php,json,model-view-controller,kohana,Php,Json,Model View Controller,Kohana,可能重复: 有没有一种简单的方法可以使用vanilla PHP、PHP库或Kohana轻松地将json编码对象中的信息打包到Kohana MVC模型对象中?json_编码的对象与模型对象具有相同的字段,但没有任何功能。有没有一种被普遍接受的方法来避免这种愚蠢的舞蹈 感觉就像我一直在编写代码来移动数据,代码如下: $array = json_decode(returnsObject()); $model = Model::factory("model"); $model->field1 =

可能重复:

有没有一种简单的方法可以使用vanilla PHP、PHP库或Kohana轻松地将json编码对象中的信息打包到Kohana MVC模型对象中?json_编码的对象与模型对象具有相同的字段,但没有任何功能。有没有一种被普遍接受的方法来避免这种愚蠢的舞蹈

感觉就像我一直在编写代码来移动数据,代码如下:

$array = json_decode(returnsObject());
$model = Model::factory("model");
$model->field1 = $array['field1'];
$model->field2 = $array['field2'];
.....
很明显,我有一种方法可以做到这一点,但是没有更好的方法来做到这一点似乎很奇怪。

这是一种简单的方法

MVC设计模式中的控制器只负责从用户请求中提取数据并将其传递给模型层和当前视图。您的代码示例实际上是控制器操作的一个几乎可以接受的实现。。。当然,如果您忽略工厂方法反模式,并将其称为“模型”


在返回JSON字符串之前,您可以扩展该类并添加从JSON字符串中提取数据的方法,但这会违反规则。

您能再解释一下最后一句话吗?阅读你的答案时我有点困惑。@ThatidotGuy你是指关于域对象还是工厂方法的部分?域对象,很抱歉,你在我提交评论后就编辑了。问题部分与CodeIgniter基本上是Rails克隆的事实有关,而Ko3中的核心思想并没有真正改变。它实现了与原始MVC模式相同的变形。在MVC模式的正确实现中,您有两层:表示层(可能包含控制器、视图和模板)和模型层。模型不是一个类或任何单个对象。它是一个包含存储抽象和结构的层,其中包含域业务逻辑(通常是域对象和服务)。如果它所做的只是保存信息,那么
json\u decode
函数的结果将返回我所需要的内容。