질문이 간단합니다. 나는 기본 추상 클래스 (person)를 가지고있다. 이것에서 나는 다른 종류 (환자)를 확장했다.PHP가 부모가 하위 속성에 액세스하지 못하도록합니다.
PERSONS 테이블에 개인 정보 (예 : 성, 성)를 저장합니다. [추가 기능이 있습니다. ]. 환자 특정 정보 (예 : 병, 의약품 등)는 별도의 환자 클래스에 저장됩니다. [부모를 호출하는 ADD 함수가 있고 일부 코드가 있습니다].
사람의 추가 기능이 자녀, 환자 내부에 정의 된 속성에 액세스하는 것을 어떻게 방지합니까? 내가 추가 호출 할 때
class P {
public P_var = 'Anoush' ;
public function add()
{
// find all properties:
foreach ($this as $prop => $val)
{
$insertables [$prop] = $val ;
}
// insert all VALUES FIELDSET etc. based on the array created above
}
class CH extends P {
public CH_var1 = 'ravan' ;
public CH_var2 = 'something' ;
}
는 다음, $insertables
이 P_var, CH_var1, CH_var2가 포함됩니다
더 명확하게하기 위해서, 여기에 샘플 코드입니다. P_var 만 갖고 싶을뿐입니다.
감사
'patient' 속성이'public'이 아닌 경우, 부모 클래스는 그들을 볼 수 없습니다. –
이 상황에서 어쨌든'person' 객체를 사용할 수 있습니까? 자식이 제공 한 첨가물이없는 경우에만 –
클래스 구현을 볼 수 있도록 더 많은 코드를 게시해야합니다. 하위 클래스는 부모에게 다시 추가 된 것을 전달하지 않습니다. d 부모가'abstract' 인 경우 자체를 인스턴스화 할 수 없습니다. –