2016-03-29 25 views
0

私はオブジェクト指向アーキテクチャパターンの質問があります。 私はアーキテクチャで間違いを犯したと思いますが、私は完全にリファクタリングする時間がありません。PHPで参照を変更せずに新しいクラスを参照する方法

だからここに行きます: 私は "新しいMyclass"と "if($ class instanceof Myclass)"を全部持っています。今ではMyclassの新しいバージョンがほしいと思っていますが、Myclassへの既存の参照をすべて変更してテストするための帯域幅がありません。

私はまだMyclassへの参照を保持し、すべての参照を変更せずにMyclassV2を参照するようなことを行うことができるパターンがPHPで利用可能であるのだろうかと思います。

新しいバージョンと古いバージョンのいずれかをインスタンス化することができます。

Myclassを変更したり、必要に応じて新しいクラスを追加したりしても構いません。

+0

私は、私が存在するインタフェースのメソッドを必要とするルールの執行者として参照インターフェースは、私の質問にどのように対処するかわからないけれども、 'あなたの答えのための –

+0

interface'感謝を実装します。 – sdfor

+0

これらのクラスは同じメソッドを実装するかどうかですか? – Devon

答えて

0

Myclassを延長してください。

class MyclassV2 extends Myclass {} 

$MyclassV2 = new MyclassV2(); 
var_dump($MyclassV2 instanceof Myclass); // true 
+0

して、システム内のすべての参照をMyclassからMyclass2に変更する必要があります。私はそれを避けようとしていました。 – sdfor

+0

あなたは 'Myclass'を保つことができます。上の例では、問題は何ですか?あなたが 'リファレンス 'について話すとき、あなたは何を意味しますか? – Federkun

関連する問題