phpbar.de logo

Mailinglisten-Archive

[php] Einem Objekt dynamisch Methoden hinzufügen.

[php] Einem Objekt dynamisch Methoden hinzufügen.

Eric Binek ich at ericbinek.de
Die Feb 22 14:34:21 CET 2005


> der direkteste weg wäre wohl aggregate() zu benutzen.
> ich hab das aber noch nicht benutzt und die 'experimental'
> kennzeichnung könnte auch 'kontrovers' heissen :)

Lösung ist wie Steffen und Patrick schrieben "aggregate()"

Klasse in File "foo.php"

<?php
class c_foo {
	
	var $obj;
	var $arr_settings;
	
	function c_foo(&$obj) {
		$this->obj = &$obj;
		$this->arr_settings['name'] = 'foo';
	}
	
	function m_aggregate($method) {
		require_once($this->arr_settings['name'].'.'.$method.'.method.php');
		aggregate ( $this, 'c_'.$method);
	}
}
	$obj = 1;
	$foo = new c_foo(&$obj);
	$foo->m_aggregate( 'print' );
	print $foo->m_print('bar1');
	print $foo->m_print('bar2');
	print $foo->m_print('bar3');
?>


Methode in File "foo.print.php"

<?php
class c_print {
	
	function m_print($value) {
		return '<div>'.$value.'</div>';
	}
}
?>

Danke an Alle.

Gruß Eric

php::bar PHP Wiki   -   Listenarchive