aggregate_info
Gets aggregation information for a given object
&reftitle.description;
arrayaggregate_info
objectobject
Gets the aggregation information for the given
object.
&reftitle.parameters;
object
&reftitle.returnvalues;
Returns the aggregation information as an associative array of arrays of
methods and properties. The key for the main array is the name of the
aggregated class.
&reftitle.examples;
Using aggregate_info
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));
?>
]]>
&example.outputs;
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
&reftitle.seealso;
aggregate
aggregate_methods
aggregate_methods_by_list
aggregate_methods_by_regexp
aggregate_properties
aggregate_properties_by_list
aggregate_properties_by_regexp
deaggregate