uopz_compose
(PECL uopz 1, PECL uopz 2)
uopz_compose — Compose a class
Warning
This function has been REMOVED in PECL uopz 5.0.0.
Description
uopz_compose(
string
array
array
array
int
): void
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
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
Return Values
Examples
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"
}↑ and ↓ to navigate • Enter to select • Esc to close • / to open