Mailinglisten-Archive |
Moin Lars, > Aber ich will ja in der neuen Klasse auf Funktionen mehrerer Klassen > zurückgreifen, nicht nur wie im Beispiel DB und phpmailer. Dafür ist aggregate() da: <? # Pseudocode, PHP4 class BaseClass { } class AnotherBaseClass { function AnotherBaseClass() { } #Konstruktor function Ausgabe() { } } class MyClass {} # Objekt instantiieren $meins = &new MyClass(); # Methoden, Eigenschaften anderer Klassen anbauen aggregate($meins, "BaseClass"); aggregate($meins, "AnotherBaseClass"); # Methoden und Eigenschaften verwenden $meins->Ausgabe(); ?> > In früheren PHP-Versionen hat man das bestimmt doch auch irgendwie > gemacht. ja, "irgendwie" triffts. Die Dokumentation zu aggregate() ist imho recht dünn, was aber sicher daran liegt, dass sie "experimentell" ist. Ich persönlich habe mit aggregate() keine Probleme (PHP4.3.9 auf Apache2/W2K). Zu beachten ist, daß die Konstruktoren nicht mitvererbt werden, so daß $meins anschließend keine Methode (Du sprichst von "Funktion") AnotherBaseClass() besitzt. > Gibt es da dann eigentlich Unterschiede zwischen 4 und 5? Leider ist diese Funktion in PHP5 nicht mehr verfügbar (weil es ja "richtige" Mehrfachvererbung gibt), so daß du deine Skripte während der Migration auf PHP5 wohl umfassend umbauen musst. Grüße Carsten. -- No virus found in this outgoing message. Checked by AVG Anti-Virus. Version: 7.0.300 / Virus Database: 265.8.1 - Release Date: 27.01.2005
php::bar PHP Wiki - Listenarchive