(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
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 ) ) )
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() .