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