2012-10-17 13 views
0

可能重複:
PHP MVC - Convert JSON to Model data從JSON編組信息到MVC模型類

是否有使用香草PHP,一個PHP庫,或Kohana的一種簡單的方法來從容易馬歇爾信息json編碼的對象成Kohana MVC模型對象? json_encoded對象與模型對象具有相同的字段,但沒有任何功能。是否有避免這種愚蠢舞蹈的普遍接受的方式?

這感覺就像我不斷地編寫代碼來與像代碼遷移數據:

$array = json_decode(returnsObject()); 
$model = Model::factory("model"); 
$model->field1 = $array['field1']; 
$model->field2 = $array['field2']; 
..... 

現在很明顯,我有這樣的一種方法,但似乎古怪,有沒有做的更好的方法這個。

回答

2

這是簡單的方法。

MVC設計模式中的控制器負責只有用於從用戶請求提取數據並將其傳遞到模型圖層和當前視圖。您的代碼示例實際上是控制器操作的幾乎可接受的實現......當然,如果您忽略工廠方法反模式並將domain objects稱爲「模型」。

您可以擴展Request類,並添加從JSON字符串中提取數據之前返回它的方法,但它將違反single responsibility principle

+0

你能解釋一下那句話嗎?閱讀你的答案我有點困惑。 – thatidiotguy

+0

@thatidiotguy你的意思是關於域對象或工廠方法的部分? –

+0

域對象,抱歉,我在提交評論後立即編輯。 – thatidiotguy