<?php
namespace N1 {
class C1
{
}
class C2
{
public $c1;
public function __construct()
{
$r = new \ReflectionObject($this);
$classname = $r->getNamespaceName() . '\\C1';
$this->c1 = new $classname;
}
}
}
namespace N2 {
class C1 extends \N1\C1
{
}
class C2 extends \N1\C2
{
}
}
namespace {
$n1c2 = new \N1\C2;
$n2c2 = new \N2\C2;
}
PD9waHAKCm5hbWVzcGFjZSBOMSB7CiAgICBjbGFzcyBDMQogICAgewogICAgfQoKICAgIGNsYXNzIEMyCiAgICB7CiAgICAgICAgcHVibGljICRjMTsKCiAgICAgICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkKICAgICAgICB7CiAgICAgICAgCSRyID0gbmV3IFxSZWZsZWN0aW9uT2JqZWN0KCR0aGlzKTsKICAgICAgICAgICAgJGNsYXNzbmFtZSA9ICRyLT5nZXROYW1lc3BhY2VOYW1lKCkgLiAnXFxDMSc7IAogICAgICAgICAgICAkdGhpcy0+YzEgPSBuZXcgJGNsYXNzbmFtZTsKICAgICAgICB9CiAgICB9Cn0KCm5hbWVzcGFjZSBOMiB7CiAgICBjbGFzcyBDMSBleHRlbmRzIFxOMVxDMQogICAgewogICAgfQoKICAgIGNsYXNzIEMyIGV4dGVuZHMgXE4xXEMyCiAgICB7CiAgICB9Cn0KCm5hbWVzcGFjZSB7CiAgICAkbjFjMiA9IG5ldyBcTjFcQzI7CiAgICB2YXJfZHVtcCgkbjFjMik7CiAgICAkbjJjMiA9IG5ldyBcTjJcQzI7CiAgICB2YXJfZHVtcCgkbjJjMik7Cn0=