I have a class PieClass
that accepts data $data
and iterate this data by following schema:
public function setData($data) {
foreach($data as $value) {
$a[$value->id] = $value;
}
}
So, it expects to get $data
by the concrete format.
There is another class model is named as ClassModel
. Using dependency injection it takes any model like:
class ClassModel {
public $model;
public function __constructor($model) {
$this->model = $model;
}
public function data(){
return $this->model->query("...")->get();
}
}
So, as getData()
get return different set of fields it should be prepared to use in PieClass
class.
Therefore I try to create class Adoptor
beetwen ClassModel
and PieClass
.
I have started to create interface:
interface IDataAdapter {
public function data() {}
}
Then I created class:
class GraphPieWorkAdapter implements IDataAdapter {
public function data() {
}
}
Also class ClassModel
must implement IDataAdapter
:
class ClassModel implements IDataAdapter {
public function data();
}
What to do next, how to utilize adopt pattern?