(PECL uopz 1, PECL uopz 2)
uopz_compose — Compose a class
Diese Funktion wurde mit PECL uopz 5.0.0 ENTFERNT.
$name,$classes,$methods = ?,$properties = ?,$flags = ?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
Beispiel #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));
?>Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
array(1) {
["myTrait"]=>
string(7) "myTrait"
}
array(1) {
["myClass"]=>
string(7) "myClass"
}
array(1) {
["myInterface"]=>
string(11) "myInterface"
}