   #PHP Manual Object Aggregation/Composition Functions Object
   Aggregation/Composition Functions aggregate_methods_by_list

   PHP Manual
   Prev  Next
   ______________________________________________________________________

                                aggregate_info

   (PHP 5 CVS only)
   aggregate_info --  returns an associative array of the methods and
   properties from each class that has been aggregated to the object.

Description

   array aggregate_info ( object object)

   Will return the aggregation information for a particular object as an
   associative array of arrays of methods and properties. The key for the
   main array is the name of the aggregated class.

   For example the code below

   Example 1. Using 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));
   ?>

   Will produce the output
Array
(
    [dicer] => Array
        (
            [methods] => Array
                (
                    [0] => dice_it
                    [1] => rotate
                )

            [properties] => Array
                (
                    [0] => rotation_angle
                )

        )

)

   As you can see, all properties and methods of the Dicer class have
   been aggregated into our new object, with the exception of the class
   constructor and the method _secret_super_dicing

   See also aggregate(), aggregate_methods(),
   aggregate_methods_by_list(), aggregate_methods_by_regexp(),
   aggregate_properties(), aggregate_properties_by_list(),
   aggregate_properties_by_regexp(), deaggregate()
   ______________________________________________________________________

   Prev                                     Home                      Next
   Object Aggregation/Composition Functions  Up  aggregate_methods_by_list
