<?php
class MyClass extends ArrayObject
{
    const 
CONSTANT 'constant';
    public static 
$staticProperty 'staticProperty';
    public static function 
staticMethod(): string { return 'staticMethod'; }
    public 
$property 'property';
    public function 
method(): string { return 'method'; }
    public function 
__invoke(): string { return '__invoke'; }
}

var_dump(
    new 
MyClass()::CONSTANT,        // string(8)  "constant"
    
new MyClass()::$staticProperty// string(14) "staticProperty"
    
new MyClass()::staticMethod(),  // string(12) "staticMethod"
    
new MyClass()->property,        // string(8)  "property"
    
new MyClass()->method(),        // string(6)  "method"
    
new MyClass()(),                // string(8)  "__invoke"
    
new MyClass(['value'])[0],      // string(5)  "value"
);
?>