phpbar.de logo

Mailinglisten-Archive

[php] Klassen innerhalb einer Klasse aufrufen

[php] Klassen innerhalb einer Klasse aufrufen

Ulf Wendel UW_(at)_NetUSE.DE
Mon, 17 Apr 2000 10:56:20 +0200


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