내 프로젝트에서 나는 많이 상속을 사용하고 있습니다. 이제 기본 클래스의 변수에 액세스하려고 할 때 마술 게터가 트리거되지 않음을 알았습니다. 따라서 다음 코드 : 재산 이 존재하지 않는 경우PHP 마술 __get 추상 기본 클래스에서 변수에 대해 작동하지 않습니다
abstract class A
{
protected $varA;
final public function __get($var)
{
echo $var;
}
}
class B extends A
{
protected $varB;
}
class C extends A
{
public function test()
{
$test = new B();
$test->varB; // Get output
$test->varA; // No output
}
}
$test = new C();
$test->test();
나를 위해 잘 작동 : http://3v4l.org/Je7dN – sectus
이상한, 여기 내 로컬 컴퓨터에서 (내가 파생 된 코드를 심지어 온라인으로) 작동하지 않습니다. PHP 업데이트 (현재 5.6.2, 아마도 5.6.4에서 작동 가능) 시간. – Blaatpraat
3v4l이 버전 5.6.2를 확인했습니다. 이 코드가 로컬 시스템에서 실행중인 코드입니까? – sectus