あるプロセスでオブジェクトを受け取りましたが、このオブジェクトはその配色を理解する必要があります。たとえば、次のように保存されている配色があります。
class FirstScheme {
public static $COLORS = array('1' => 'green', '2' => 'red', ...);
}
class SecondScheme {
public static $COLORS = array('1' => 'red', '2' => 'green', ...);
}
事前にすべての配色スキームの名前を知っています。コードが変更された場合にのみ変更できます。ただし、各オブジェクトに使用される配色は、実行時にこのオブジェクトの属性を照合して決定する必要があります。
そして、ここで私は何をすべきかわかりません。Pythonでは、配色から名前へのマッピングを保持する dict を次のように定義します。
d = {'attr_value1': FirstScheme, 'attr_value2': SecondScheme, 'attr_value3': FirstScheme, ...}
そして、すべてのクラスに必要なため、「COLORS」変数にアクセスするだけです。しかし、PHP ではそのような方法でクラスを参照する方法はありません。複数の属性を同じ配色スキームにマップできることに注意してください。