Source of: /manual/en/function.aggregate-info.php
<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/ref.objaggregation.inc";
$setup = array (
'home' =>
array (
0 => 'index.php',
1 => 'PHP Manual',
),
'head' =>
array (
0 => 'UTF-8',
1 => 'en',
),
'this' =>
array (
0 => 'function.aggregate-info.php',
1 => 'aggregate_info',
),
'up' =>
array (
0 => 'ref.objaggregation.php',
1 => 'Object Aggregation Functions',
),
'prev' =>
array (
0 => 'ref.objaggregation.php',
1 => 'Object Aggregation Functions',
),
'next' =>
array (
0 => 'function.aggregate-methods-by-list.php',
1 => 'aggregate_methods_by_list',
),
);
$setup["toc"] = $TOC;
$setup["parents"] = $PARENTS;
manual_setup($setup);
manual_header();
?>
<div id="function.aggregate-info" class="refentry">
<div class="refnamediv">
<h1 class="refname">aggregate_info</h1>
<p class="verinfo">(PHP 4 >= 4.3.0)</p><p class="refpurpose"><span class="refname">aggregate_info</span> — <span class="dc-title">
Gets aggregation information for a given object
</span></p>
</div>
<a name="function.aggregate-info.description"></a><div class="refsect1 description">
<h3 class="title">Description</h3>
<div class="methodsynopsis dc-description">
<span class="type">array</span> <span class="methodname"><b>aggregate_info</b></span>
( <span class="methodparam"><span class="type">object</span> <tt class="parameter">$object</tt></span>
)</div>
<p class="para rdfs-comment">
Gets the aggregation information for the given
<i><tt class="parameter">object</tt></i>
.
</p>
</div>
<a name="function.aggregate-info.parameters"></a><div class="refsect1 parameters">
<h3 class="title">Parameters</h3>
<p class="para">
</p><dl>
<dt class="varlistentry">
<span class="term"><i><tt class="parameter">object</tt></i>
</span>
</dt><dd class="listitem">
<p class="para">
</p>
</dd>
</dl>
<p>
</p>
</div>
<a name="function.aggregate-info.returnvalues"></a><div class="refsect1 returnvalues">
<h3 class="title">Return Values</h3>
<p class="para">
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.
</p>
</div>
<a name="function.aggregate-info.examples"></a><div class="refsect1 examples">
<h3 class="title">Examples</h3>
<p class="para">
</p><div class="example">
<p><b>Example #1 Using <b>aggregate_info()</b></b></p>
<div class="example-contents programlisting">
<div class="phpcode"><code><span style="color: #000000">
<span style="color: #0000BB"><?php<br /><br /></span><span style="color: #007700">class </span><span style="color: #0000BB">Slicer </span><span style="color: #007700">{<br /> var </span><span style="color: #0000BB">$vegetable</span><span style="color: #007700">;<br /><br /> function </span><span style="color: #0000BB">Slicer</span><span style="color: #007700">(</span><span style="color: #0000BB">$vegetable</span><span style="color: #007700">) <br /> {<br /> </span><span style="color: #0000BB">$this</span><span style="color: #007700">-></span><span style="color: #0000BB">vegetable </span><span style="color: #007700">= </span><span style="color: #0000BB">$vegetable</span><span style="color: #007700">;<br /> }<br /><br /> function </span><span style="color: #0000BB">slice_it</span><span style="color: #007700">(</span><span style="color: #0000BB">$num_cuts</span><span style="color: #007700">) <br /> {<br /> echo </span><span style="color: #DD0000">"Doing some simple slicing\n"</span><span style="color: #007700">;<br /> for (</span><span style="color: #0000BB">$i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">; </span><span style="color: #0000BB">$i </span><span style="color: #007700">< </span><span style="color: #0000BB">$num_cuts</span><span style="color: #007700">; </span><span style="color: #0000BB">$i</span><span style="color: #007700">++) {<br /> </span><span style="color: #FF8000">// do some slicing<br /> </span><span style="color: #007700">}<br /> }<br />}<br /><br />class </span><span style="color: #0000BB">Dicer </span><span style="color: #007700">{<br /> var </span><span style="color: #0000BB">$vegetable</span><span style="color: #007700">;<br /> var </span><span style="color: #0000BB">$rotation_angle </span><span style="color: #007700">= </span><span style="color: #0000BB">90</span><span style="color: #007700">; </span><span style="color: #FF8000">// degrees<br /><br /> </span><span style="color: #007700">function </span><span style="color: #0000BB">Dicer</span><span style="color: #007700">(</span><span style="color: #0000BB">$vegetable</span><span style="color: #007700">) <br /> {<br /> </span><span style="color: #0000BB">$this</span><span style="color: #007700">-></span><span style="color: #0000BB">vegetable </span><span style="color: #007700">= </span><span style="color: #0000BB">$vegetable</span><span style="color: #007700">;<br /> }<br /><br /> function </span><span style="color: #0000BB">dice_it</span><span style="color: #007700">(</span><span style="color: #0000BB">$num_cuts</span><span style="color: #007700">) <br /> {<br /> echo </span><span style="color: #DD0000">"Cutting in one direction\n"</span><span style="color: #007700">;<br /> for (</span><span style="color: #0000BB">$i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">; </span><span style="color: #0000BB">$i </span><span style="color: #007700">< </span><span style="color: #0000BB">$num_cuts</span><span style="color: #007700">; </span><span style="color: #0000BB">$i</span><span style="color: #007700">++) {<br /> </span><span style="color: #FF8000">// do some cutting<br /> </span><span style="color: #007700">}<br /> </span><span style="color: #0000BB">$this</span><span style="color: #007700">-></span><span style="color: #0000BB">rotate</span><span style="color: #007700">(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-></span><span style="color: #0000BB">rotation_angle</span><span style="color: #007700">);<br /> echo </span><span style="color: #DD0000">"Cutting in a second direction\n"</span><span style="color: #007700">;<br /> for (</span><span style="color: #0000BB">$i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">; </span><span style="color: #0000BB">$i </span><span style="color: #007700">< </span><span style="color: #0000BB">$num_cuts</span><span style="color: #007700">; </span><span style="color: #0000BB">$i</span><span style="color: #007700">++) {<br /> </span><span style="color: #FF8000">// do some more cutting<br /> </span><span style="color: #007700">}<br /> }<br /><br /> function </span><span style="color: #0000BB">rotate</span><span style="color: #007700">(</span><span style="color: #0000BB">$deg</span><span style="color: #007700">) <br /> {<br /> echo </span><span style="color: #DD0000">"Now rotating </span><span style="color: #007700">{</span><span style="color: #0000BB">$this</span><span style="color: #007700">-></span><span style="color: #0000BB">vegetable</span><span style="color: #007700">}</span><span style="color: #DD0000"> </span><span style="color: #007700">{</span><span style="color: #0000BB">$deg</span><span style="color: #007700">}</span><span style="color: #DD0000"> degrees\n"</span><span style="color: #007700">;<br /> }<br /><br /> function </span><span style="color: #0000BB">_secret_super_dicing</span><span style="color: #007700">(</span><span style="color: #0000BB">$num_cuts</span><span style="color: #007700">) <br /> {<br /> </span><span style="color: #FF8000">// so secret we cannot show you ;-)<br /> </span><span style="color: #007700">}<br />}<br /><br /></span><span style="color: #0000BB">$obj </span><span style="color: #007700">= new </span><span style="color: #0000BB">Slicer</span><span style="color: #007700">(</span><span style="color: #DD0000">'onion'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">aggregate</span><span style="color: #007700">(</span><span style="color: #0000BB">$obj</span><span style="color: #007700">, </span><span style="color: #DD0000">'Dicer'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">print_r</span><span style="color: #007700">(</span><span style="color: #0000BB">aggregate_info</span><span style="color: #007700">(</span><span style="color: #0000BB">$obj</span><span style="color: #007700">));<br /></span><span style="color: #0000BB">?></span>
</span>
</code></div>
</div>
<div class="example-contents para"><p>The above example will output:</p></div>
<div class="example-contents screen">
<div class="cdata"><pre>
Array
(
[dicer] => Array
(
[methods] => Array
(
[0] => dice_it
[1] => rotate
)
[properties] => Array
(
[0] => rotation_angle
)
)
)
</pre></div>
</div>
</div><p>
As you can see, all properties and methods of the
<b class="classname">Dicer</b> class have been aggregated
into our new object, with the exception of the class
constructor and the method <span class="methodname"><b>_secret_super_dicing</b></span>
</p>
</div>
<a name="function.aggregate-info.seealso"></a><div class="refsect1 seealso">
<h3 class="title">See Also</h3>
<p class="para">
</p><ul class="simplelist">
<li class="member"><a href="function.aggregate.php" class="function" rel="rdfs-seeAlso">aggregate()</a> - Dynamic class and object aggregation of methods and properties</li>
<li class="member"><a href="function.aggregate-methods.php" class="function" rel="rdfs-seeAlso">aggregate_methods()</a> - Dynamic class and object aggregation of methods</li>
<li class="member"><a href="function.aggregate-methods-by-list.php" class="function" rel="rdfs-seeAlso">aggregate_methods_by_list()</a> - Selective dynamic class methods aggregation to an object</li>
<li class="member"><a href="function.aggregate-methods-by-regexp.php" class="function" rel="rdfs-seeAlso">aggregate_methods_by_regexp()</a> - Selective class methods aggregation to an object using a regular
expression</li>
<li class="member"><a href="function.aggregate-properties.php" class="function" rel="rdfs-seeAlso">aggregate_properties()</a> - Dynamic aggregation of class properties to an object</li>
<li class="member"><a href="function.aggregate-properties-by-list.php" class="function" rel="rdfs-seeAlso">aggregate_properties_by_list()</a> - Selective dynamic class properties aggregation to an object</li>
<li class="member"><a href="function.aggregate-properties-by-regexp.php" class="function" rel="rdfs-seeAlso">aggregate_properties_by_regexp()</a> - Selective class properties aggregation to an object using a regular
expression</li>
<li class="member"><a href="function.deaggregate.php" class="function" rel="rdfs-seeAlso">deaggregate()</a> - Removes the aggregated methods and properties from an object</li>
</ul><p>
</p>
</div>
</div><?php manual_footer(); ?>