2

所以基本上我发现自己正在编写一堆样板代码,这些代码从 JSON 编码的字符串中获取信息,并将该数据放入我的 MVC Web 应用程序中使用的模型中。有没有公​​认的方法来做到这一点?每个模型都应该有一个关联数组来建模对象转换器吗?我应该写一个实用程序类来做到这一点吗?基本上,我只是想从我的控制器中删除该代码以精简它们,而且我是 PHP MVC 的新手。如果这与问题相关,我正在使用 Kohana 3.2。

编辑:

我被要求澄清。我收到 JSON 编码的字符串格式的数据(来自我自己编写的 Web 服务 - Java / w Jersey)。所以本质上,我的网络应用程序中的模型不是从数据库中提取信息,而是从网络服务中提取信息。由于 Web 服务以 JSON 格式返回所有内容,因此我发现自己正在编写处理该问题的代码。反过来,我可以告诉 GSON google 代码将 JSON 转换为特定的 Java 对象。在 PHP 中似乎没有一种方法可以做到这一点。我不是在谈论 stdClass 对象,而是一个模型。

4

2 回答 2

4

您的模型必须使用 fromArray($array) 方法实现简单接口

public function fromArray(array $array)
{
  foreach($array as $property => $value) {
     if(property_exists($this, $property) {
       $this->$property = $value;
     }
  }
}
于 2012-10-21T18:52:21.740 回答
1

Kohana 的模型(ORM 类)仅适用于数据库记录。如果您想使用 Kohana,您必须编写基于 ORM 模块的新模块。该模块实际上可以对模型执行相同的操作(加载、保存),但它可以与您输入数据一起工作。

于 2012-10-15T20:05:04.647 回答