aggregation_info

aggregation_info -- Retourne un tableau associatif décrivant les classes aggrégées

Description

array aggregation_info ( object object)

aggregation_info( ) retourne les informations d'aggrégation pour l'objet object , sous la forme d 'un tableau associatif . Les clés de ce tableau sont les noms des classes aggrégées .

Par exemple , le code ci-dessous

Exemple 1 . Exemple avec aggregation_info( )

 
?php

 
class

 
Slicer

 
{

 
var

 
$vegetable

 
;

 
function

 
Slicer($vegetable

 
)

 
{

 
$this

 
-

 
vegetable

 
=

 
$vegetable

 
;

 
    }

 
function

 
slice_it($num_cuts

 
)

 
{

 
echo

 
"Tranchage\n"

 
;

 
for

 
($i=0

 
;

 
$i

 
$num_cuts

 
;

 
$i++

 
)

 
{

 
/

 
/

 
un

 
peu

 
de

 
tranchage

 
some

 
slicing

 
        }

 
    }

 
}

 
class

 
Dicer

 
{

 
var

 
$vegetable

 
;

 
var

 
$rotation_angle

 
=

 
90

 
;

 
/

 
/

 
degr

 
eacute;s

 
function

 
Dicer($vegetable

 
)

 
{

 
$this

 
-

 
vegetable

 
=

 
$vegetable

 
;

 
    }

 
function

 
dice_it($num_cuts

 
)

 
{

 
echo

 
"Coupe

 
suivant

 
une

 
direction\n"

 
;

 
for

 
($i=0

 
;

 
$i

 
$num_cuts

 
;

 
$i++

 
)

 
{

 
/

 
/

 
tranchage

 
        }

 
$this

 
-

 
rotate($this

 
-

 
rotation_angle)

 
;

 
echo

 
"Coupe

 
suivant

 
une

 
autre

 
direction\n"

 
;

 
for

 
($i=0

 
;

 
$i

 
$num_cuts

 
;

 
$i++

 
)

 
{

 
/

 
/

 
tranchage

 
encoer

 
        }

 
    }

 
function

 
rotate($deg

 
)

 
{

 
echo

 
"Rotation

 
de

 
{$this

 
-

 
vegetable

 
}

 
{$deg

 
}

 
degr

 
eacute;s\n"

 
;

 
    }

 
function

 
_secret_super_dicing($num_cuts

 
)

 
{

 
/

 
/

 
secret

 
industriel

 
,

 
a

 
ne

 
pas

 
montrer

 
.

 
    }

 
}

 
$obj

 
=

 
new

 
Slicer('onion')

 
;

 
aggregate($obj

 
,

 
'Dicer')

 
;

 
print_r(aggregate_info($obj))

 
;

 
?





va produire le résultat suivant

 
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 Dicer ont été aggrégées dans notre nouvel objet, a l'excéption de la classe constructuer, et de la méthode _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( )