私は5つの異なるモデルクラスを持っています。それぞれが異なるタイプのデータを処理しますが、それらはすべて同じ形式に従います。
それぞれの種類のモデルで、toJson、toArrayなどの関数を共有したいと思います。
これを行うにはたくさんのハック方法があり、それらを理解することはできますが、もっと良い方法が必要です。
これが私の望ましい効果です:
<?
something here{
function toJson(){return json_encode($this->lastResult);}
}
class applications{
function findAllFoo(){
$this->lastResult = $this->db->foo->find();
return $this;
}
}
class users{
function findAllBar(){
$this->lastResult = $this->db->bar->find();
return $this;
}
}
$models = new models();
echo $models->applications->findAllFoo()->toJson();
echo $models->users->findAllBar()->toJson();
クラスのセット全体でモデルを渡すこともできますnew applications($this)
が、これを行う方法は標準的な方法の中にあると確信しています。
TL; DR-いくつかのヘルパー関数を共有しているが、関数と競合しないクラスのセットを作成するにはどうすればよい__construct
ですか?