aggregate_info

(PHP 4 >= 4.3.0)

aggregate_infoRécupère les informations d'agrégation pour un objet donné

Description

array aggregate_info ( object $object )

Récupère les informations d'agrégation pour un objet donné.

Liste de paramètres

object

Valeurs de retour

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.

Exemples

Exemple #1 Exemple avec aggregate_info()

  1. <?php
  2.  
  3. class Slicer {
  4. var $vegetable;
  5.  
  6. function Slicer($vegetable)
  7. {
  8. $this->vegetable = $vegetable;
  9. }
  10.  
  11. function slice_it($num_cuts)
  12. {
  13. echo "Doing some simple slicing\n";
  14. for ($i=0; $i < $num_cuts; $i++) {
  15. // coupe en tranches
  16. }
  17. }
  18. }
  19.  
  20. class Dicer {
  21. var $vegetable;
  22. var $rotation_angle = 90; // degrés
  23.  
  24. function Dicer($vegetable)
  25. {
  26. $this->vegetable = $vegetable;
  27. }
  28.  
  29. function dice_it($num_cuts)
  30. {
  31. echo "Couper dans une direction\n";
  32. for ($i=0; $i < $num_cuts; $i++) {
  33. // coupe
  34. }
  35. $this->rotate($this->rotation_angle);
  36. echo "Couper dans une seconde direction\n";
  37. for ($i=0; $i < $num_cuts; $i++) {
  38. // coupe encore
  39. }
  40. }
  41.  
  42. function rotate($deg)
  43. {
  44. echo "Maintenant tourne {$this->vegetable} {$deg} degrés\n";
  45. }
  46.  
  47. function _secret_super_dicing($num_cuts)
  48. {
  49. // tellement secret que nous ne pouvons vous montrer ;-)
  50. }
  51. }
  52.  
  53. $obj = new Slicer('onion');
  54. aggregate($obj, 'Dicer');
  55. print_r(aggregate_info($obj));
  56. ?>

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é 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

LoadingChargement en cours