class Dog { public string $name; public string $color; public void __construct(string $name, string $color) { $this->name = $name; $this->color = $color; } public callback greet(string $greeting) { return void() using ($greeting) { print("$greeting, I am a {$this->color} dog named {$this->name}\n"); }; } } class Program { public void main() { object $dog = new Dog('Alex', 'red'); callback $c = $dog->greet('Hello'); $c(); } }