어떤 프로세스 중에 객체를받습니다.이 객체는 해당 색 구성표를 알아야합니다. 예를 들어, 나는 다음과 같이 저장되어있는 색상 표시 체계가 : 나는 사전에 모든 색 구성표의 이름을 알고PHP에서 프로그래밍 방식으로 클래스 참조하기
class FirstScheme {
public static $COLORS = array('1' => 'green', '2' => 'red', ...);
}
class SecondScheme {
public static $COLORS = array('1' => 'red', '2' => 'green', ...);
}
을; 코드가 변경 될 때만 변경할 수 있습니다. 그러나 각 개체에 사용되는 색 구성표는이 개체의 특성을 일치시켜 런타임에 결정해야합니다.
여기 어떻게해야할지 모르겠다. 모든 클래스가 있어야하기 때문에,
d = {'attr_value1': FirstScheme, 'attr_value2': SecondScheme, 'attr_value3': FirstScheme, ...}
을 그리고 단지 "COLORS"변수에 액세스 : 파이썬에서 나는 딕셔너리는 다음과 같이 이름에 색 구성표의 매핑을 잡고 정의하는 것입니다. 하지만 PHP에는 그런 방식으로 클래스를 참조 할 방법이 없으므로 올바른 방법은 무엇입니까? 두 개 이상의 특성을 동일한 색 구성표에 매핑 할 수 있습니다.
클래스가 아닌 객체를 전달하면 어떻습니까? 정적 메서드/속성은 일반적으로 나쁜 습관으로 간주됩니다. 객체의 경우 - 하나의 클래스 'ColorScheme'을 가지며 다른 스키마로 그것을 인스턴스화합니다. – zerkms
왜? 색칠 체계가 사전 결정될 때 왜 개체가 필요한지 이해할 수 없습니다. 인스턴스화 할 필요가 없습니다. 사전에 알고 있습니다. – dragoon
그들이 미리 결정된다는 사실은 통계학적인 해답이 짜증 난다는 사실을 어떻게 바꾸나요? 요청에 따라 다양한 색상 구성표를 생성하는 빌더를 생성하고 하드 코딩 된 클래스 및 속성 이름이 아닌 인터페이스별로 클래스를 묶습니다. – zerkms