Exemples
<<<
aggregate_info aggregate_methods_by_list
>>>

8.84 agrégation d'objets/Composition de fonctions
8 Référence des fonctions
 Manuel PHP

Introduction
Exemples
->aggregate_info
aggregate_methods_by_list
aggregate_methods_by_regexp
aggregate_methods
aggregate_properties_by_list
aggregate_properties_by_regexp
aggregate_properties
aggregate
aggregation_info
deaggregate

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

[ Exemples avec aggregate_info ]   CVS uniquement

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 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));
?>
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 .

<< aggregate_info >>
Exemples agrégation d'objets/Composition de fonctions aggregate_methods_by_list