php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 15.10.2004, 21:39  
Gast
 
Beiträge: n/a
Standard [Erledigt] Instanz bilden innerhalb einer Klasse

Hallo!

Ich habe eine Klasse. In dieser Klasse möchte ich bei bestimmten Ausführungen eine Instanz einer anderen Klasse bilden. Geht das und wenn ja, wie?

Bsp.:

PHP-Code:

class egal
{
 function 
mache()
 {
  
//Instanz der Klasse kfz bilden
 

 .......
}

class 
kfz
{
 function 
auto()
 {


 }
 ........

 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 15.10.2004, 21:53  
Gast
 
Beiträge: n/a
Standard

Vorraussetzung: Beide Klassen sind definiert.

Danach ganz einfach:
PHP-Code:
class Klasse1
{
   function 
methode1()
   {
      
$lAndereKlasse = new Klasse2();
      
$lAndereKlasse->methode2();
   }
}

class 
Klasse2
{
   function 
methode2()
   {
   }

Sollte keine Probleme verursachen.
 
Alt 15.10.2004, 21:55  
Gast
 
Beiträge: n/a
Standard

Hallo!

Und genau das habe ich auch versucht. Nur ging es nicht. Also muss es an etwas anderem gelegen haben.

MfG
 
Alt 15.10.2004, 23:13  
Gast
 
Beiträge: n/a
Standard Re: Instanz bilden innerhalb einer Klasse

Zitat:
Zitat von André Schmidt
Ich habe eine Klasse. In dieser Klasse möchte ich bei bestimmten Ausführungen eine Instanz einer anderen Klasse bilden. Geht das und wenn ja, wie?
a. ja, b. so:
PHP-Code:

class egal
{
 var 
$andereKlasse false;
 function 
mache()
 {
    
$this->andereKlasse = new kfz();
 } 

 function 
tuWas ($var)
 {
   
$this->andereKlasse->auto($var)
 }
}

class 
kfz
{
 function 
auto()
 {
    print 
'Ich bin ein ' $var;
 }
}

$a = new egal ();
$a->mache();
$a->tuWas ('Auto'); 
 
Alt 11.12.2004, 02:51  
Gast
 
Beiträge: n/a
Standard

Kann man das auch so machen?

PHP-Code:
$class2 = new Klasse2($host$user$passwd);

class 
Klasse2
{
   function 
Klasse2($host$user$passwd)
   {
   }



$class1 = new Klasse1($class2);

class 
Klasse1
{
   
   var 
$class2;
 
   function 
methode1($class2)
   {
      
$this->class2 $class2;
   }

Somit hätte ich die andere Klasse (z.B Template-, DB-Klasse,...) auch in meiner Klasse. Gibt es einen Grund der gegen diese Methode spricht. Für mich ergibt sich der Vorteil, dass ich nicht immer den Konstruktur von der DB-Klasse aufrufen muss.
Bin schon auf eure Meinungen gespannt.
 
Alt 11.12.2004, 10:46  
Waq
Erfahrener Benutzer
 
Registriert seit: 15.08.2004
Beiträge: 2.473
Waq
Standard

Zitat:
Zitat von superberni
Kann man das auch so machen?
Klar. Wenn man nur eine, oder auch eine handvoll, Instanzen einer Klasse haben will, dann baut man sich eben nur so viele, wie man braucht, und verwendet die wieder, indem man sie als Parameter übergibt.

Alternativ kann man ein Singleton (vorzugsweise parametrisiert) verwenden.
__________________
mod = master of disaster
Waq ist offline  
Alt 11.12.2004, 10:50  
Waq
Erfahrener Benutzer
 
Registriert seit: 15.08.2004
Beiträge: 2.473
Waq
Standard

Der Beitrag wurde verschoben, wegen...
... unzureichende Fragestellung.
... Postings im falschen Forum.

Bemerkung:
Die gestellte Frage entspricht nicht dem Wissensstand eines/einer Fortgeschrittenen.

Über den Operator "new" ein Objekt zu erstellen ist nur wirklich trivial, egal ob innerhalb oder ausserhalb eines Objektes.
Sieht für mich nach einem Problem bei der Fehlersuche aus... und zumindest im Moment sehe ich nichts Fortgeschrittenes an der Frage.

moved to PHP - Anfänger
__________________
mod = master of disaster
Waq ist offline  
Alt 11.12.2004, 12:58  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von Waq
Alternativ kann man ein Singleton (vorzugsweise parametrisiert) verwenden.
Würdet ihr das so machen?
Leider kann ich nichts mit dem Begriff Singleton anfangen. Erklärt ihn bitte mir.

Wie würdet ihr es machen?
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Instanz einer Klasse mit unbekanntem Namen erstellen PHP Tipps 2005 4 06.02.2009 14:39
funktion innerhalb einer Klasse mit call_user_func aufrufen phpbeginner PHP Tipps 2008 8 22.05.2008 16:20
Variable aus Klasse herausbekommen GSJLink PHP Tipps 2008 7 16.02.2008 22:25
String-Parser Klasse - was muss rein? Matze PHP Tipps 2007 2 08.04.2007 22:14
mehr als eine Klasse einbinden Alpha Centauri PHP-Fortgeschrittene 4 13.04.2006 20:56
[Erledigt] Instanz einer Klasse in SessionVariable PHP-Fortgeschrittene 2 21.02.2006 00:18
Zugriff auf eine Klasse innerhalb einer Funktion -> Fehle PHP-Fortgeschrittene 23 05.02.2006 13:02
Instanz einer Klasse in einer anderen Klasse verwenden Buhmann PHP-Fortgeschrittene 7 28.10.2005 23:12
Rückgabewert auf einer Klasse anders als in der Klasse micbur PHP Tipps 2005-2 6 10.06.2005 15:06
Instanz einer Klasse innerhalb einer Funtion verwenden PHP-Fortgeschrittene 9 14.04.2005 21:51
Problem mit Übergabe einer Klasse in PHP4 PHP-Fortgeschrittene 10 08.01.2005 21:00
Klassenobjet in anderer Klasse benutzen inu PHP Tipps 2004 6 19.09.2004 10:58
Klasse ändern UniQ PHP Tipps 2004 5 24.08.2004 14:46
[Erledigt] Übergabe einer Instanz einer Klasse PHP-Fortgeschrittene 2 24.08.2004 10:20
Instanz bilden - Konstruktor PHP Tipps 2004 2 29.07.2004 07:47

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php instanz, php instanzen, instanz php, php instanzieren, php instanz erstellen, instanzen php, instanzieren php, php neue instanz, php objekt instanzieren, objekt instanzieren php, php was ist eine instanz, php klassen instanz, instanz erstellen php, instanz in php, php objekt instanz, instanz bilden, php eine neue instanz, klasse innerhalb klasse, neue instanz php, wie bildet man eine instanz

Alle Zeitangaben in WEZ +1. Es ist jetzt 21:12 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.