Impressum · Kontakt · Hilfe
Besucher online · Mitglieder



Portal > Foren > PHP > PHP-Programmierung > Übergabe eines Objekts im constructor
Antwort
 
Themen-Optionen
Alt 15.12.2007, 16:39   Nach oben    #1
kampfgnom
Erfahrener Benutzer
 
Registriert seit: 27.09.2006
Ort: Radebeul
Beiträge: 392
Standard Übergabe eines Objekts im constructor

Hi!
ich habe folgendes Problem:
Ich habe eine Klasse, die werte eines Objekts verändert, die im Constructor übergeben wurden.
Jedoch werden die änderungen auch im "Elternscript" gebraucht.


Also nochmal kurz:
Eine Klasse bekommt von Script1 eine Instanz übergeben
Diese Klasse verändert etwas an der Instanz.
Script1 will diese Änderungen verwenden.

Einigermaßen klar?
__________________
kampfgnom ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.12.2007, 17:33   Nach oben    #3
kampfgnom
Erfahrener Benutzer
 
Registriert seit: 27.09.2006
Ort: Radebeul
Beiträge: 392
Standard

ok

PHP-Code:
class Example1
{
    protected 
$smth "lol";
    function 
setSmth($value)
    {
        
$this->smth $value;
    }
    
    function 
echoSmth ()
    {
        echo 
$this->smth;
    }

PHP-Code:
class Example2
{
    protected 
$ex null;

     public function 
__construct($instance)
    {
        
$this->ex $instance;
    }
    public function 
example()
    {
        
$this->ex->setSmth "test";
    }

So das sind die zwei klassen und jetzt das script:
PHP-Code:
$example1 = new Example1();
$example2 = new Example2($example1); //die klasse wird übergeben
$example2->example();
$example1->echoSmth(); //Ausgabe: lol 
So da wird, wie zu ahnen war, "lol" ausgegeben. Ich möchte jetzt aber, das "test" ausgegeben wird.

Wie kann ich das machen?
__________________
kampfgnom ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.12.2007, 19:37   Nach oben    #4
Flor1an
Der Student
 
Benutzerbild von Flor1an
 
Registriert seit: 03.01.2007
Ort: München
Beiträge: 57
Standard

Also wenn du setSmth auch richtig aufrufst dann funktionierts auch

$this->ex->setSmth = "test"; // falsch
$this->ex->setSmth("test"); // rüchtig
__________________
Wenn ich du wäre, wäre ich lieber ich.

http://www.clubstars.net
http://www.x-tinct.de
Flor1an ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 16.12.2007, 12:35   Nach oben    #5
kampfgnom
Erfahrener Benutzer
 
Registriert seit: 27.09.2006
Ort: Radebeul
Beiträge: 392
Standard

Zitat:
Zitat von Flor1an Beitrag anzeigen
Also wenn du setSmth auch richtig aufrufst dann funktionierts auch

$this->ex->setSmth = "test"; // falsch
$this->ex->setSmth("test"); // rüchtig
Es ist sooo bitter....du hast natürlich recht und es geht!
Danke dir *kopf-gegen-wand-schlag*
__________________
kampfgnom ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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 Aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
SESSION übergabe automatisch? web2 PHP-Programmierung 3 28.02.2007 14:00
$_GET Übergabe mit md5() prüfen ex³ PHP-Programmierung 5 15.12.2005 08:53
Werte Übergabe von Klasse zu Klasse williplumps Allgemeine Java-Programmierung 3 06.08.2005 09:41


Alle Zeitangaben in WEZ +2. Es ist jetzt 01:53 Uhr.

Nach oben
Wir nutzen das Zend Framework, vBulletin (vBulletin v3.7.2, Copyright ©2000-2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.0.0) und vBSEO.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44