<?php
class A implements I {
const property = "I am a const!\n";
public function __construct(){
$b = new B();
}
public function f($p){
echo "Got a ".$p.PHP_EOL;
}
}
class B extends A {
public function __construct(){
echo A::property;
}
}
interface I {
public function f($p);
}
$a = new A();
$a->f("foo");
PD9waHAKY2xhc3MgQSBpbXBsZW1lbnRzIEkgewoJCWNvbnN0IHByb3BlcnR5ID0gIkkgYW0gYSBjb25zdCFcbiI7CgkJcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCl7CgkJIAkkYiA9IG5ldyBCKCk7CgkJfQoJCXB1YmxpYyBmdW5jdGlvbiBmKCRwKXsKCQkJZWNobyAiR290IGEgIi4kcC5QSFBfRU9MOwoJCX0KICAgIH0KY2xhc3MgQiBleHRlbmRzIEEgewoJcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCl7CgkJZWNobyBBOjpwcm9wZXJ0eTsKCX0KfQoKaW50ZXJmYWNlIEkgewoJcHVibGljIGZ1bmN0aW9uIGYoJHApOwp9CgokYSA9IG5ldyBBKCk7CiRhLT5mKCJmb28iKTs=