Manuel PHP
Précédent |  | Suivant

# aggregate_info

(no version information, 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é aggré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é aggrégée pour former l'objet object. La clé du tableau principal est le nom de la classe aggrégée.

Pour un exemple, voir le code ci-dessous.

Exemple 1. Exemple avec aggregate_info()

`<?php
class Slicer {
var $vegetable;
function Slicer($vegetable) {
$this->vegetable = $vegetable;
}
function slice_it($num_cuts) {
echo "Doing some simple slicing\n";
for ($i=0; $i < $num_cuts; $i++) {
// do some slicing
}
}
}
class Dicer {
var $vegetable;
var $rotation_angle = 90; // degrees
function Dicer($vegetable) {
$this->vegetable = $vegetable;
}
function dice_it($num_cuts) {
echo "Cutting in one direction\n";
for ($i=0; $i < $num_cuts; $i++) {
// do some cutting
}
$this->rotate($this->rotation_angle);
echo "Cutting in a second direction\n";
for ($i=0; $i < $num_cuts; $i++) {
// do some more cutting
}
}
function rotate($deg) {
echo "Now rotating {$this->vegetable} {$deg} degrees\n";
}
function _secret_super_dicing($num_cuts) {
// so secret we cannot show you ;-)
}
}
$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é aggrégée 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().

Précédent | Sommaire | Suivant
Aggregation d'objets/Composition de fonctions | Niveau supérieur | aggregate_methods_by_list