Misusing anonymous classes in the best way possible.
composer require novara/dynamic-readonly-classes "*"
DRCFactory::create(null, [
'Foo' => 'Bar',
])::Foo // returns 'Bar'
This is useful for extending classes:
// SomeClass.php
abstract class SomeClass
{
public function test(): string
{
return static::TEST;
}
}
// Other code
DRCFactory::create(SomeClass::class, [
'TEST' => 'funny text here',
])->test(),