<?php
declare(strict_types=1);
error_reporting(E_ALL);
class ClassUsedForTyping
{
}
class ClassWithSetMagic {
public function __construct() {
printf("Constructor for ClassWithSetMagic\n");
}
public function __set($name, $value) {
printf("Setting %s\n", $name);
}
}
class ClassInheritingFromClassWithSetMagic extends ClassWithSetMagic {
public ?ClassUsedForTyping $example = null;
public function __construct() {
printf("Constructor for ClassInheritingFromClassWithSetMagic\n");
$this->example = new ClassUsedForTyping();
parent::__construct();
}
}
$inst = new ClassInheritingFromClassWithSetMagic();
print_r($inst);