7.71 Aggregation d'objets/Composition de fonctions
7 Index 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
|
7.71.3 aggregate_info()
Retourne un tableau associatif avec les méthodes et propriétés de chaque classe
qui a été aggrégée
[ Exemples avec aggregate_info ] PHP 5 CVS only
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 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";
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)); ?>
|
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
|