aggregate_info

(No version information available, might be only in CVS)

aggregate_info — Retourne un tableau associatif avec les méthodes et propriétés de chaque classe qui a été agrégée

Description

array aggregate_info ( object $object )

aggregate_info() retourne un tableau associatif avec les méthodes et propriétés de chaque classe qui a été agrégée pour former l'objet object . La clé du tableau principal est le nom de la classe agrégée.

Pour un exemple, voir le code ci-dessous.

Exemple 1788. Exemple avec aggregate_info()

<?php

class  Slicer  {
    var 
$legume ;

    function 
Slicer ( $legume ) {
        
$this -> legume  $legume ;
    }

    function 
slice_it ( $num_cuts ) {
        echo 
"Coupe en tranches\n" ;
        for (
$i = 0 $i  $num_cuts $i ++) {
            
// coupe en tranches
        
}
    }
}

class 
Dicer  {
    var 
$legume ;
    var 
$rotation_angle  90 ;    // degrés

    
function  Dicer ( $legume ) {
        
$this -> legume  $legume ;
    }

    function 
dice_it ( $num_cuts ) {
        echo 
"Couper dans une direction\n" ;
        for (
$i = 0 $i  $num_cuts $i ++) {
            
// coupe
        
}
        
$this -> rotate ( $this -> rotation_angle );
        echo 
"Couper dans une seconde direction\n" ;
        for (
$i = 0 $i  $num_cuts $i ++) {
            
// coupe encore
        
}
    }

    function 
rotate ( $deg ) {
        echo 
"Maintenant tourne {$this->legume} {$deg} degrees\n" ;
    }

    function 
_secret_super_dicing ( $num_cuts ) {
        
// tellement secret que nous ne pouvons vous montrer ;-)
    
}
}

$obj  = new  Slicer ( 'onion' );
aggregate ( $obj 'Dicer' );
print_r ( aggregate_info ( $obj ));
?>

L'exemple ci-dessus va afficher :


Array
(
    [dicer] => Array
        (
            [methods] => Array
                (
                    [0] => dice_it
                    [1] => rotate
                )

            [properties] => Array
                (
                    [0] => rotation_angle
                )

        )

)

      

Comme vous pouvez le voir, toutes les méthodes et propriétés de la classe dicer ont été agrégées dans notre nouvel objet, à l'exception de la classe constructeur et de la méthode privée _secret_super_dicing

Voir aussi aggregate() , aggregate_methods() , aggregate_methods_by_list() , aggregate_methods_by_regexp() , aggregate_properties() , aggregate_properties_by_list() , aggregate_properties_by_regexp() et deaggregate() .