Mailinglisten-Archive |
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