<?php
interface SomeInterface{
public function someInterfaceFunction();
}
trait SomeTrait {
function sayHello(){
echo "Hello my secret is ".static::$secret;
}
}
abstract class AbstractClass implements SomeInterface {
use SomeTrait;
}
class TestClass extends AbstractClass {
static public $secret = 12345;
function someInterfaceFunction(){ }
}
$test = new TestClass();
$test->sayHello();
PD9waHAKaW50ZXJmYWNlIFNvbWVJbnRlcmZhY2V7CiAgICBwdWJsaWMgZnVuY3Rpb24gc29tZUludGVyZmFjZUZ1bmN0aW9uKCk7Cn0KCnRyYWl0IFNvbWVUcmFpdCB7CiAgICBmdW5jdGlvbiBzYXlIZWxsbygpewogICAgICAgIGVjaG8gIkhlbGxvIG15IHNlY3JldCBpcyAiLnN0YXRpYzo6JHNlY3JldDsKICAgIH0KfQoKYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RDbGFzcyBpbXBsZW1lbnRzIFNvbWVJbnRlcmZhY2UgewogICAgdXNlIFNvbWVUcmFpdDsKfQoKY2xhc3MgVGVzdENsYXNzIGV4dGVuZHMgQWJzdHJhY3RDbGFzcyB7CiAgICBzdGF0aWMgcHVibGljICAkc2VjcmV0ID0gMTIzNDU7CgogICAgZnVuY3Rpb24gc29tZUludGVyZmFjZUZ1bmN0aW9uKCl7IH0KfQokdGVzdCA9IG5ldyBUZXN0Q2xhc3MoKTsKJHRlc3QtPnNheUhlbGxvKCk7