2015-05-19 34 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()