PHP: aggregate - Manual

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

search for in the

aggregation_info aggregate_properties

Last updated: Fri, 26 Jan 2007

view this page in

# aggregate

(PHP 4 >= 4.2.0)

aggregate -- Dynamic class and object aggregation of methods and properties

## Description

void aggregate ( object object, string class_name )

Aggregates methods and properties defined in a class to an existing object. Methods and properties with names starting with an underscore character (_) are considered private to the aggregated class and are not used, constructors are also excluded from the aggregation procedure.

See also aggregate_info(), aggregate_methods(), aggregate_methods_by_list(), aggregate_methods_by_regexp(), aggregate_properties(), aggregate_properties_by_list(), aggregate_properties_by_regexp(), deaggregate()

add a note User Contributed Notes
aggregate
kencomer at NOSPAM dot kencomer dot com
11-Sep-2005 09:22
`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
28-Mar-2005 12:02
`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`
gmail pfayolle
07-Jan-2005 12:16
`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
*/
?>`
hewei at ied dot org dot cn
02-Mar-2003 03:34
`YES you can use aggregation functions to simulate multiple inheritence.
function foo()
{
aggregate($this, "bar");
bar::bar();
}`
add a note
aggregation_info aggregate_properties

Last updated: Fri, 26 Jan 2007
show source | credits | stats | sitemap | contact | advertising | mirror sites
Copyright © 2001-2007 The PHP Group
All rights reserved.
This mirror generously provided by: Yahoo! Inc.
Last updated: Sat Mar 10 10:36:09 2007 PST