SunshinePHP 2019 CFP Started


Componere (latin, English: compose) targets production environments and provides an API for composition of classes, monkey patching, and casting.


Componere\Definition is used to define (or redefine) a class at runtime; The class can then be registered, and in the case of redefinition it replaces the original class for as long as the Componere\Definition exists.

public Componere\Definition::__construct ( string $name )
public Componere\Definition::__construct ( string $name , string $parent )
public Componere\Definition::__construct ( string $name , array $interfaces )
public Componere\Definition::__construct ( string $name , string $parent , array $interfaces )


Componere\Patch is used to change the class of a specific instance of an object at runtime; Upon application the patch will remain applied for as long as the Componere\Patch exists, and can be reverted explicitly.

public Componere\Patch::__construct ( object $instance )
public Componere\Patch::__construct ( object $instance , array $interfaces )


Componere\ casting functions can cast among user defined compatible types; Where compatible means Type is sub or super to the type of object.

Type Componere\cast ( Type , $object )
Type Componere\cast_by_ref ( Type , $object )

add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top