Fonctions Uopz
PHP Manual

uopz_compose

(PECL uopz >= 1.0.0)

uopz_composeCompose une classe

Description

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

Crée une nouvelle classe de nom spécifié, qui implémente, étend ou utilise toutes les classes fournies.

Liste de paramètres

name

Un nom de classe valide

classes

Un tableau de classes, d'interfaces ou de noms trait

methods

Un tableau associatif de méthodes ; les valeurs sont soit des closures, soit des [modifiers => closure]

properties

Un tableau associatif de propriétés, ayant comme clés les noms, et comme valeurs, les modificateurs

flags

Type d'entrée ; par défaut, ZEND_ACC_CLASS

Valeurs de retour

Exemples

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 quelque chose de similaire à :

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

Fonctions Uopz
PHP Manual