php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 17.08.2004, 02:06  
Gast
 
Beiträge: n/a
Standard [Erledigt] Referenzen auf Objekte

Hallo!

Ich habe mit folgem Code Probleme:

Code:
<?
class test
{
        function test_function()
        {
                echo "test";
                $this->test_custom();
        }
}

class test1 extends test
{
        var $link;

        function test_xx()
        {
                $this->link->test_function();
        }

        function test_custom()
        {
                // Variante 1
        }
}

class test2 extends test
{
        var $link;

        function test_xx()
        {
                $this->link->test_function();
        }

        function test_custom()
        {
                // Variante 2
        }
}

$o1 = new test1();
$o2 = new test2();

$o1->$link = &$o2;
$o2->$link = &$o1;

$o1->test_xx();
$o2->test_xx();
?>
Ich möchte folgende erreichen: Generiere 2 Objekte $o1, $o2, speichere Referenzen in $o1->link auf $o2 und in $o2->link auf $o1. Dann rufe ich $o1->test_xx() auf und damit sollte dann möglichst $o2->test_function() aufgerufen werden und damit u.a. test_custom() von $o2 ausgeführt werden.
Das ganze sieht vielleicht etwas sinnvoll aus, aber ich brauche es wirklich so. Der Zusammenhang ist etwas größer, aber ich möchte euch das ersparen.

Das funktioniert so nicht und ich kann es auch verstehen. Es ist ja u.a. PHP vor der Generation der Objekte und dem $o1->$link = &$o2; noch gar nicht klar, was sich hinter $link verbirgt. Entsprechend ist auch die Fehlermeldung:

Fatal error: Call to a member function on a non-object in ...../test.php on line 18
Es bezieht sich auf die Zeile: $this->link->test_function(); in der Klasse test1. Ich könnte mir vorstellen, dass es helfen würde, wenn man PHP irgendwie klar machen könnte, dass es sich bei $link um eine Referenz auf ein Objekt von der Klasse test (bzw. test1 / test2) handelt. Aber geht sowas? Ich hab noch nicht gesehen, wie man Typen explizit angeben kann in PHP.

Ich bin für alle Tips dankbar,
flo
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 17.08.2004, 10:12  
Erfahrener Benutzer
 
Registriert seit: 17.08.2004
Beiträge: 213
carrib befindet sich auf einem aufstrebenden Ast
Standard

Hi

Liege ich mit der Annahme, dass $link als Variable nicht gesetzt ist richtig? In diesem Fall solltest Du $link nicht als Variable für den Methodennamen verwenden (ist in PHP möglich)

Achte bitte auf die beiden Zeilen, in denen Du die Zuweisung der Referenzen vornimmst.
Code:
$o1->$link = &$o2; 
$o2->$link = &$o1;
Korrekt sollte diese mit Sicherheit
Code:
$o1->link =& $o2; 
$o2->link =& $o1;
lauten.
carrib ist offline   Mit Zitat antworten
Alt 17.08.2004, 11:08  
Gast
 
Beiträge: n/a
Standard

natürlich. ist auch vollkommen klar. war gestern abend wohl etwas zu müde...

Vielen Dank!
  Mit Zitat antworten
Antwort


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
Referenzen auf Objekte innerhalb eines Arrays PHP-Fortgeschrittene 6 31.08.2009 17:06
[Erledigt] objekte mit bilddaten serialisieren lumo PHP Tipps 2008 1 17.07.2008 12:25
[Erledigt] Objekte übergeben Felix PHP Tipps 2008 23 18.06.2008 12:21
Sortierbare Objekte Zergling-new PHP-Fortgeschrittene 5 27.11.2007 23:19
Objekte zur Laufzeit Vererbung anhängen Zergling-new PHP-Fortgeschrittene 8 17.11.2007 17:31
Objekte aus Klassenbibliothek zur Verfügung stellen ecomeback PHP Tipps 2008 8 14.10.2007 16:11
PHP 5 Objekte in Session philomat PHP-Fortgeschrittene 1 17.02.2007 17:47
Objekte moose PHP Tipps 2006 13 29.07.2006 16:18
[Erledigt] Objekte vergleichen PHP-Fortgeschrittene 4 08.12.2005 16:20
objekte und klassen notyyy PHP Tipps 2005-2 2 24.10.2005 17:44
[Erledigt] Referenzen PHP-Fortgeschrittene 2 10.03.2005 16:11
[Erledigt] Referenzen - Eure Meinung Off-Topic Diskussionen 6 11.12.2004 04:14
Ganze Objekte an Script weitergeben dreamingof8a PHP Tipps 2004-2 6 23.11.2004 12:17
Externe Referenzen in Klassen nutzen PHP Tipps 2004 3 16.08.2004 21:10
Anonyme Objekte? PHP-Fortgeschrittene 18 25.07.2004 22:19

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php referenzen auf objekte, php objekte referenzen, referenz auf objekt php, php objekte weitergeben, php objekt weitergeben, php referenz auf ein objekt, php objekt referenz, php objekt referenzen, php object weitergeben, php referenz auf objekte, php referenz auf objekt, referenzen auf objekte, php klassen referenz, refernez auf objekt php, php 4 referenz auf class member, php referenzen objekte, referenz objekt weitergeben php, php objecte referenzen, php objekt als referenz, php alle referenzen auf ein object

Alle Zeitangaben in WEZ +1. Es ist jetzt 15:26 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.