Delicious Bookmark this on Delicious Share on Facebook SlashdotSlashdot It! Digg! Digg



PHP : Function Reference : Object Aggregation/Composition Functions : aggregate

aggregate

Dynamic class and object aggregation of methods and properties (PHP 4 >= 4.2.0)
void aggregate ( object object, string class_name )


Code Examples / Notes » aggregate

hewei

YES you can use aggregation functions to simulate multiple inheritence.
function foo()
{
   aggregate($this, "bar");
   bar::bar();
}


gmail pfayolle

Note that even if this can be used to emulate multiple inheritance to some extent, an object in PHP can only be subclass of the class used in the class declaration and no other.
<?php
class A {}
class B {}
class C extends A
{
 function C()
 {
   aggregate($this, 'B'); // emulate multiple inheritance
 }
}
$c = new C;
echo (int)is_subclass_of($c, 'B');
/*
Output: 0
*/
?>


kencomer

For PHP5 applications, the aggregate functionality available through classkit has been incorporated into and replaced by runkit. Per the classkit page of the PHP manual:
"Note:  This extension has been replaced by runkit, which is not limited to class manipulation but has function manipulation, as well."
 http://php.net/manual/en/ref.runkit.php
Per the runkit page:
" This package is meant as a feature added replacement for the classkit package. When compiled with the --enable-runkit=classkit  option to ./configure, it will export classkit compatible function definitions and constants."


matt barry

A note for those who may be implementing projects in PHP4 using aggregate(); these functions do not exist in PHP5.  For similar functionality, you can try using the Classkit extension:
http://us2.php.net/manual/en/ref.classkit.php


Change Language


Follow Navioo On Twitter
aggregate_info
aggregate_methods_by_list
aggregate_methods_by_regexp
aggregate_methods
aggregate_properties_by_list
aggregate_properties_by_regexp
aggregate_properties
aggregate
aggregation_info
deaggregate
eXTReMe Tracker