downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

Our source is open

The syntax highlighted source is automatically generated by PHP from the plaintext script. If you're interested in what's behind the several functions we used, you can always take a look at the source of the following files:

Of course, if you want to see the source of this page, we have it available. You can also browse the SVN repository for this website on svn.php.net.

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 &gt;= 4.3.0)</p><p class="refpurpose"><span class="refname">aggregate_info</span> &mdash; <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">&lt;?php<br /><br /></span><span style="color: #007700">class&nbsp;</span><span style="color: #0000BB">Slicer&nbsp;</span><span style="color: #007700">{<br />&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;</span><span style="color: #0000BB">$vegetable</span><span style="color: #007700">;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;</span><span style="color: #0000BB">Slicer</span><span style="color: #007700">(</span><span style="color: #0000BB">$vegetable</span><span style="color: #007700">)&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">vegetable&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$vegetable</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;</span><span style="color: #0000BB">slice_it</span><span style="color: #007700">(</span><span style="color: #0000BB">$num_cuts</span><span style="color: #007700">)&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"Doing&nbsp;some&nbsp;simple&nbsp;slicing\n"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(</span><span style="color: #0000BB">$i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">$i&nbsp;</span><span style="color: #007700">&lt;&nbsp;</span><span style="color: #0000BB">$num_cuts</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">$i</span><span style="color: #007700">++)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;do&nbsp;some&nbsp;slicing<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br />class&nbsp;</span><span style="color: #0000BB">Dicer&nbsp;</span><span style="color: #007700">{<br />&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;</span><span style="color: #0000BB">$vegetable</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;</span><span style="color: #0000BB">$rotation_angle&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">90</span><span style="color: #007700">;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;degrees<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">function&nbsp;</span><span style="color: #0000BB">Dicer</span><span style="color: #007700">(</span><span style="color: #0000BB">$vegetable</span><span style="color: #007700">)&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">vegetable&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$vegetable</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;</span><span style="color: #0000BB">dice_it</span><span style="color: #007700">(</span><span style="color: #0000BB">$num_cuts</span><span style="color: #007700">)&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"Cutting&nbsp;in&nbsp;one&nbsp;direction\n"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(</span><span style="color: #0000BB">$i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">$i&nbsp;</span><span style="color: #007700">&lt;&nbsp;</span><span style="color: #0000BB">$num_cuts</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">$i</span><span style="color: #007700">++)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;do&nbsp;some&nbsp;cutting<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">rotate</span><span style="color: #007700">(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">rotation_angle</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"Cutting&nbsp;in&nbsp;a&nbsp;second&nbsp;direction\n"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(</span><span style="color: #0000BB">$i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">$i&nbsp;</span><span style="color: #007700">&lt;&nbsp;</span><span style="color: #0000BB">$num_cuts</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">$i</span><span style="color: #007700">++)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;do&nbsp;some&nbsp;more&nbsp;cutting<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;</span><span style="color: #0000BB">rotate</span><span style="color: #007700">(</span><span style="color: #0000BB">$deg</span><span style="color: #007700">)&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"Now&nbsp;rotating&nbsp;</span><span style="color: #007700">{</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">vegetable</span><span style="color: #007700">}</span><span style="color: #DD0000">&nbsp;</span><span style="color: #007700">{</span><span style="color: #0000BB">$deg</span><span style="color: #007700">}</span><span style="color: #DD0000">&nbsp;degrees\n"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;</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">)&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;so&nbsp;secret&nbsp;we&nbsp;cannot&nbsp;show&nbsp;you&nbsp;;-)<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}<br />}<br /><br /></span><span style="color: #0000BB">$obj&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</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">,&nbsp;</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">?&gt;</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] =&gt; Array
        (
            [methods] =&gt; Array
                (
                    [0] =&gt; dice_it
                    [1] =&gt; rotate
                )

            [properties] =&gt; Array
                (
                    [0] =&gt; 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(); ?>
 
show source | credits | sitemap | contact | advertising | mirror sites