Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
PHP: aggregate_info - Manual
[go: Go Back, main page]

PHP  
downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | my php.net 
search for in the  
<Object Aggregationaggregate_methods_by_list" width="11" height="7"/>
view the version of this page
Last updated: Sat, 29 Oct 2005

aggregate_info

(no version information, might be only in CVS)

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



add a note add a note User Contributed Notes
aggregate_info
There are no user contributed notes for this page.

<Object Aggregationaggregate_methods_by_list" width="11" height="7"/>
 Last updated: Sat, 29 Oct 2005
show source | credits | sitemap | contact | advertising | mirror sites 
Copyright © 2001-2005 The PHP Group
All rights reserved.
This mirror generously provided by: PacketBusiness, Inc.
Last updated: Tue Nov 1 06:21:56 2005 JST