Skip to content

Novara-PHP/dynamic-readonly-classes

Repository files navigation

Dynamic Readonly Classes

License: MIT

Misusing anonymous classes in the best way possible.

Installation

composer require novara/dynamic-readonly-classes "*"

Usage

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(),

About

Create objects with constant values based on dynamically passed content.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages