Below three examples describe anonymous class with very simple and basic but quite understandable example<?php// First way - anonymous class assigned directly to variable$ano_class_obj = new class{ public $prop1 = 'hello'; public $prop2 = 754; const SETT = 'some config'; public function getValue() { // do some operation return 'some returned value'; } public function getValueWithArgu($str) { // do some operation return 'returned value is '.$str; }};echo "\n";var_dump($ano_class_obj);echo "\n";echo $ano_class_obj->prop1;echo "\n";echo $ano_class_obj->prop2;echo "\n";echo $ano_class_obj::SETT;echo "\n";echo $ano_class_obj->getValue();echo "\n";echo $ano_class_obj->getValueWithArgu('OOP');echo "\n";echo "\n";// Second way - anonymous class assigned to variable via defined function$ano_class_obj_with_func = ano_func();function ano_func(){ return new class { public $prop1 = 'hello'; public $prop2 = 754; const SETT = 'some config'; public function getValue() { // do some operation return 'some returned value'; } public function getValueWithArgu($str) { // do some operation return 'returned value is '.$str; } };}echo "\n";var_dump($ano_class_obj_with_func);echo "\n";echo $ano_class_obj_with_func->prop1;echo "\n";echo $ano_class_obj_with_func->prop2;echo "\n";echo $ano_class_obj_with_func::SETT;echo "\n";echo $ano_class_obj_with_func->getValue();echo "\n";echo $ano_class_obj_with_func->getValueWithArgu('OOP');echo "\n";echo "\n";// Third way - passing argument to anonymous class via constructors$arg = 1; // we got it by some operation$config = [2, false]; // we got it by some operation$ano_class_obj_with_arg = ano_func_with_arg($arg, $config);function ano_func_with_arg($arg, $config){ return new class($arg, $config) { public $prop1 = 'hello'; public $prop2 = 754; public $prop3, $config; const SETT = 'some config'; public function __construct($arg, $config) { $this->prop3 = $arg; $this->config =$config; } public function getValue() { // do some operation return 'some returned value'; } public function getValueWithArgu($str) { // do some operation return 'returned value is '.$str; } };}echo "\n";var_dump($ano_class_obj_with_arg);echo "\n";echo $ano_class_obj_with_arg->prop1;echo "\n";echo $ano_class_obj_with_arg->prop2;echo "\n";echo $ano_class_obj_with_arg::SETT;echo "\n";echo $ano_class_obj_with_arg->getValue();echo "\n";echo $ano_class_obj_with_arg->getValueWithArgu('OOP');echo "\n";echo "\n";