나는 나는 현재과 같이 태클 오전 reoccuring 문제가 -PHP 디자인 패턴
플랫폼을 가지고 스크립트에 들어오는 POST 변수, 플랫폼이 목록에서 같은입니다: X 박스, PS3, PC를 , MobileApp을, 모바일 게임 등 내 스크립트에 뭔가 다른 일을 할 수 있도록하려면 각기 다른 플랫폼에 대한
하지만 코드가 순간에 매우 비슷한 일을하고 싶은 경우에 나는 같은 것을 할
:$platformArray = array(
'ps3'=>array('displayName'=>'playstation 3','function'=>'funcPS3'),
'xbox'=>array('displayName'=>'Xbox','function'=>'funcXbox')
)
//similar amongst all platforms code on line below
echo 'you have a :'.$platformArray[$_POST['platform']]['displayName'].' for playing games';
call_user_func($platformArray[$_POST['platform']['function']);
function funcPS3(){
echo 'ps3 specific code';
}
function funcXbox(){
echo 'xbox specific code';
}
내 코드에서 OOP 접근 방식으로 이동하고 싶습니다. o 지금은 내가하고있는 것처럼 배열이 아닌 데이터 저장 매체로 객체를 사용하지만, 때때로 코드에 속성을 정의해야 할 때가있다. 객체를 가지고 어떻게하면 좋을까?
개체의 작동 방식을 살펴 보았습니까? [무엇을 시도 했습니까?] (http://whathaveyoutried.com)? – UnholyRanger
그래, 기본 수준에 나는 그들이 일반적으로 당신이 설정할 수있는 함수와 함께 얻을 수있는 개인 내부 변수를 이해하고, 내가 미리 변수의 인스턴스를 여러 개로드 할 수 있다고 가정한다. 내가 참조 할 수 있다고 생각한다. $ {$ _ POST [ 'platform']} $ {$ _ POST [ 'platform']} -> myclassfunc();와 같은 일을 할 수 있습니까? ? 그것을 시도하지 않는 것에 대한 사과 내가 여기에 내 설치를 가지고 있지 않다면 – arcanine
비슷한 부분이 미리 정의 된 기본 "플랫폼"클래스를 만든 다음 플랫폼을 상속하고 플랫폼의 일부 기능을 오버로드하는 XBOX/PS3/PC 클래스를 만든다. 특정 행동. –