Creating anonymous objects in php
In PHP, anonymous objects can be created using the new class
syntax. For example:
<?php
$obj = new class {
public $property = 'value';
public function method()
{
return 'Hello, world!';
}
};
echo $obj->property . "\n";
echo $obj->method() . "\n";
This creates an anonymous class with a public property $property
and a public method method()
. The class is then instantiated and assigned to the variable $obj
.
Alternatively, Anonymous classes can also be created using closures, for example:
<?php
$factory = function () {
return new class {
public $property = 'value';
public function method()
{
return 'Hello, world!';
}
};
};
$obj = $factory();
echo $obj->property . "\n";
echo $obj->method() . "\n";
Both of these examples create an anonymous class and instantiate it, you can use the object like any other object.
Please note that Anonymous classes are available only in PHP 7.0 and later versions.