私はOOPを初めて使用するので、かなり基本的な質問がありますが、簡潔に説明するのに苦労しているため、答えを探すのが難しいです。
クレジットカード処理をサポートするアプリケーションがあり、他のプロバイダー(linkpoint、authorize.netなど)を追加できるように処理機能を抽象化したいと考えています。私がやりたいのは、次のような単純なクラスを作成することだと思います。
class credit {
function __construct($provider){
// load the credit payment class of $provider
}
}
次に、プロバイダーにそれぞれこのクラスを拡張してもらいます。
class linkpoint extends credit { }
しかし、私は本当にクレジットクラスをインターフェースのようなものとして使いたいと思っています。クレジットオブジェクトは必要ありません。次のようなことをしたいと思います。
$credit = new credit('linkpoint');
次に、$creditをリンクポイントクラスのインスタンスにします。または、少なくとも、すべてのメソッドでリンクポイントクラスで定義されたコードを実行する必要があります。
それにアプローチするための最良の方法は何ですか?それともそれを行うためのより良い方法はありますか?