Php/docs/function.uopz-compose

From Get docs

uopz_compose

(PECL uopz 1, PECL uopz 2)

uopz_composeCompose a class


Warning This function has been REMOVED in PECL uopz 5.0.0.


Description

uopz_compose ( string $name , array $classes [, array $methods [, array $properties [, int $flags ]]] ) : void

Creates a new class of the given name that implements, extends, or uses all of the provided classes


Parameters

name
A legal class name
classes
An array of class, interface and trait names
methods
An associative array of methods, values are either closures or [modifiers => closure]
properties
An associative array of properties, keys are names, values are modifiers
flags
Entry type, by default ZEND_ACC_CLASS


Return Values

Examples

Example #1 uopz_compose() example

<?phpclass myClass {}trait myTrait {}interface myInterface {}uopz_compose(    Composed::class, [        myClass::class,         myTrait::class,         myInterface::class    ], [    "__construct" => function() {        /* ... */    }]);var_dump( class_uses(Composed::class), class_parents(Composed::class), class_implements(Composed::class));?>

The above example will output:


array(1) {
  ["myTrait"]=>
  string(7) "myTrait"
}
array(1) {
  ["myClass"]=>
  string(7) "myClass"
}
array(1) {
  ["myInterface"]=>
  string(11) "myInterface"
}