(PECL uopz 1, PECL uopz 2)
uopz_compose — Compose une classe
Cette fonction a été SUPPRIMEE dand PECL uopz 5.0.0.
$name
, array $classes
[, array $methods
[, array $properties
[, int $flags
]]] ) : voidCrée une nouvelle classe de nom spécifié, qui implémente, étend ou utilise toutes les classes fournies.
nameUn nom de classe valide
classesUn tableau de classes, d'interfaces ou de noms trait
methodsUn tableau associatif de méthodes ; les valeurs sont soit des closures, soit des [modifiers => closure]
propertiesUn tableau associatif de propriétés, ayant comme clés les noms, et comme valeurs, les modificateurs
flagsType d'entrée ; par défaut, ZEND_ACC_CLASS
Exemple #1 Exemple avec uopz_compose()
<?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));
?>
L'exemple ci-dessus va afficher :
array(1) {
["myTrait"]=>
string(7) "myTrait"
}
array(1) {
["myClass"]=>
string(7) "myClass"
}
array(1) {
["myInterface"]=>
string(11) "myInterface"
}