Mailinglisten-Archive |
Mirko Fenrich wrote: > Dabei entstand bei m ir die Frage ob ich innerhalb einer Klasse auf eine > andere Klasse zugreifen kann und wie das geht. In meinem konkreten Fall > möchte ich durch eine neue Klasse auf die phplib zugreifen. Über einen Link > (wo ich nachlesen kann) wäre ich total dankbar. Kein Link, aber laß das mal laufen und versuche es zu verstehen: <?php class foo { function foo() { print "Zugriff auf die Klasse 'foo' gelungen<br>\n"; } function footalks() { print "Ich bin ein Objekt der Klasse 'foo'<br>\n"; } } class bar { function bar($f="") { $this->f = $f; print "Zugriff auf die Klasse 'bar' gelunden<br>\n"; } var $f = ""; function accessfoo1() { $f = new foo(); } function accessfoo2() { $this->f = new foo(); $this->f->footalks(); } function accessfoo3() { $this->f->footalks(); } } // Zugriff auf foo über eine lokale // Variable in bar->accessfoo1() $b = new bar; $b->accessfoo1(); echo "<hr>"; // Zugriff auf foo über eine im Objekt // befindliche Instanzvariable $b->accessfoo2(); echo "<hr>"; // Lösung, Übergabe des Objekt $f vom Typ foo an // das Objeckt $b vom Typ bar, Zugriff über Instanzvariable $f = new foo(); $b = new bar($f); $b->accessfoo3(); ?> In PHP4 gibt es noch "statische" Klassen, deren Methoden ohne einen new auf gerufen werden dürfen. Die PHPLIB befindet sich derzeit im Umbau und wird dies bald unterstützen. Ulf -- Ulf Wendel NetUSE Kommunikationstechnologie GmbH Siemenswall, D-24107 Kiel, Germany Fon: +49 431 386435 00 -- Fax: +49 431 386435 99
php::bar PHP Wiki - Listenarchive