novara/dynamic-readonly-classes

Create objects with constant values based on dynamically passed content.

Installs: 23

Dependents: 1

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/novara/dynamic-readonly-classes

v1.0.1 2024-10-12 11:49 UTC

This package is auto-updated.

Last update: 2025-10-12 14:07:07 UTC


README

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