aggregate_info
(PHP 5 CVS only)
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)); ?>
|
va produire l'affichage :
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()