2015-05-19 56 views
0

我正在嘗試使用OOP方式。我有一堆返回相同格式的數組的方法。我想保證這個類的用戶知道會返回什麼。我會怎麼做呢?請原諒我,因爲我不確定描述我的問題的正確術語。PHP OOP - 將數組返回類(?)

class myModel { 
    public function getArray1(){ 
     $data = array(); 
     $id = array(); 
     .... 
     return array('data'=>$data, 'id'=>$id); <== HOW TO GUARANTEE RETURN FORMAT 
    }; 
    public function getArray2(){ 
     $data = array(); 
     $id = array(); 
     .... 
     return array('data'=>$data, 'id'=>$id); <== HOW TO GUARANTEE RETURN FORMAT 
    }; 
    public function getArray3(){ 
     $data = array(); 
     $id = array(); 
     .... 
     return array('data'=>$data, 'id'=>$id); <== HOW TO GUARANTEE RETURN FORMAT 
    }; 
} 
+1

你是什麼意思「因子出」? –

+0

我在想也許返回數組需要在一個類中,以便它可以保證數組元素將被返回(?)這樣,這個「myModel」類的用戶不必知道返回數組的鍵的名稱。我希望這是有道理的。 – WJR

+1

在這些情況下創建用於存儲數據的類稱爲DTO(數據傳輸對象),或簡稱爲模型。如果你想確保接口,它們是非常好的做法。 –

回答

0

你可以嘗試定義其他類返回值:

class returnArray { 
    $data = array(); 
    $id = array(); 

    function construct($data,$id) { 
     $this->data = $data; 
     $this->id = $id; 
    } 
} 

//... 

public function getArray1(){ 
    $data = array(); 
    $id = array(); 
    .... 
    return new returnArray('data'=>$data, 'id'=>$id); 
}; 

那麼你就可以存取添加到returnArray類或把它作爲公共如果你想或在必要時甚至實現__toString()