phpbar.de logo

Mailinglisten-Archive

[php] Dynamische Klassennamen

[php] Dynamische Klassennamen

Sebastian Mendel lists at sebastianmendel.de
Die Mar 8 12:32:14 CET 2005


Kraft Bernhard wrote:
> Sebastian Mendel wrote:
> 
>> Sollte sich die Erweiterung nicht selber um die 'Instanzierung' seiner 
>> Klassen kümmern?
>>
>> [...]
> 
> Für normale "Erweiterungen" gilt das ja.
> 
> Aber Erweiterungen von Typo3 haben die Möglichkeit den Core zu 
> modifizieren. Und Sie tun das
> indem Sie eine Klasse erweitern. Instanziert wird vom Core dann die 
> erweiterte Klasse (siehe
> makeInstance in meinem letzten mail)
> 
> nur hat diese Extension Methode von Typo3 (XCLASS) eben den Nachteil das 
> nicht zwei Extensions
> das gleiche Core-File erweitern können weil dann eben nur eine Wirksam 
> ist (die zuletzt geladene).
> 
> Und ich bin eben schon länger auf der Suche nach einer Möglichkeit 
> Core-Funktionalität beliebig
> erweitern zu können : Sprich: Methoden einer Klasse durch includen von 
> files beliebig überschreiben ...
> 
> gibts dafür vielleicht nen anderen weg als überladen ?

na zumindest für PHP5 gibt es doch __call()

erweiterung1.php:

Core::extendedMethods[] = 'erweiterung1_funktion1';
Core::extendedProperties[] = 'erweiterung1_propertie1';

erweiterung2.php:

Core::extendedMethods[] = 'erweiterung2_funktion1';
Core::extendedProperties[] = 'erweiterung2_propertie1';


Core::__call():

ruft dann halt die entsprechenden Funktionen auf oder inkludiert und 
ruft sie auf, wie auch immer



-- 
Sebastian Mendel

www.sebastianmendel.de
www.sf.net/projects/phpdatetime | www.sf.net/projects/phptimesheet

php::bar PHP Wiki   -   Listenarchive