(PECL uopz 1, PECL uopz 2)
uopz_compose — Compose a class
This function has been REMOVED in PECL uopz 5.0.0.
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
nameA legal class name
classesAn array of class, interface and trait names
methodsAn associative array of methods, values are either closures or [modifiers => closure]
propertiesAn associative array of properties, keys are names, values are modifiers
flagsEntry type, by default ZEND_ACC_CLASS
Example #1 uopz_compose() example
<?php
class 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"
}
© 1997–2025 The PHP Documentation Group
Licensed under the Creative Commons Attribution License v3.0 or later.
https://www.php.net/manual/en/function.uopz-compose.php