aggregate_methods
(PHP 4 >= 4.2.0)
aggregate_methods — Dynamic class and object aggregation of methods
Описание
void aggregate_methods
( object $object
, string $class_name
)
Aggregates all methods defined in a class to an existing object, except for the class constructor, or methods whose names start with an underscore character (_) which are considered private to the aggregated class.
Список параметров
- object
-
- class_name
-
Возвращаемые значения
Эта функция не возвращает значения после выполнения.
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Расширения, относящиеся к переменным и типам
- Object Aggregation/Composition [PHP 4]
- 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
Коментарии
You can use this to dynamicily add methods to a class
class foo {
function addMethod( $code ) {
$cname = uniqid("class");
eval( "class ${cname} { ${code} }" );
aggregate_methods( $this , $cname );
}
function bar() {
$this->addMethod( "function baz() { echo 'sha'; }" );
}
}
$bang = new foo();
$bang->bar();
$bang->baz();