phpbar.de logo

Mailinglisten-Archive

[php] dynamische Methodenaufrufe aus abstrakten Klassen

[php] dynamische Methodenaufrufe aus abstrakten Klassen

Konstantin Rekk k.rekk at intermatix.de
Die Jan 27 13:39:05 CET 2004


Workaround gefunden (siehe auch PEAR_HTTP_Session_Container):

Methode: wrappen der aufzurufenden Funktionen
Nachteil: für jede statische Funktion wrapper Fkt. in globalem Scope anlegen

class SomeClass
{

	function staticCallDependingOnClass()
	{
		$fct = __CLASS__."_otherFunction";
		$fct(); //call it	
	}
...

}
//wrapper for static called functions:
function SomeClass_otherFunction()
{
	return SomeClass::otherFunction();
}

Viel Spaß!

Konstantin.

> Hallo da draussen,
>
> kann ich statische Funktion mit dynamischem Klassennamen aufrufen?
>
> snippet:
> /****************************************
> * some crazy stuff
> * @public
> * @param string $name name des Seitenmoduls
> ****************************************/
> function create( $name="defp" )
> {
>         //wenn methode da, dann nimm Methode, ansonsten suche nach Klass
> mit dem Namen
>         if ( in_array( $name , get_class_methods( __CLASS__ ) ) ){
>
>
>             return __CLASS__::$name(); //hier Klasse dynamisch
> ??????????????
>
>
>         } else {
>             return new $name();
>         }
> }// end function
>
> Danke.
>
> Konstantin.


php::bar PHP Wiki   -   Listenarchive