Ankündigung

Einklappen
Keine Ankündigung bisher.

statische Variablen => References

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Gast-Avatar
    Ein Gast erstellte das Thema statische Variablen => References.

    statische Variablen => References

    Hallo,

    ich arbeite gerade an meinem Maturaprojekt und habe erst gestern festgestellt, dass ich PHP5 statt PHP4 zur Entwicklung verwendet habe. Da mein Webspace auch PHP4 verwendet, war die �berraschung nat�rlich Perfekt. Das Problem liegt an den References, ansonsten ist eigentlich alles PHP4 konform! Jezt versuche ich gerade ein Workaround f�r dieses Problem zu finden und habe folgenden Code versucht:

    Code:
    class session
    {
    
          var container;
    
          function session ()
          {
                $this -> container = session_ctn::signalton();
          }
    
          function &signalton ()
          {
                static $class;
                if (!isset($class)) { $class = new g_session; }
                return $class;
          }
    
    
    }
    
    class session_ctn
    {
    
    
          var lib;
          var $class;
    
          function session_ctn ()
          {
                $this -> lib= session::signalton();
          }
    
          function &signalton ()
          {
                static $class;
                if (!isset($class)) { $class = new session_ctn; }
                return $class;
          }
    
    }
    
    $session = session::signalton();
    Beim Ausf�hren schmiert allerdings jedesmal der eigene Webserver ab. Wer weiss, wo das Problem liegt?


    Danke
    gersti

  • Waq
    antwortet
    Zitat von Bruchpilot
    Wieviel direkter muss es noch sein?
    Ich hätte man den Thread lesen sollen. Ich war grad bei static member Variablen, also denen hier:
    http://de2.php.net/manual/en/language.oop5.static.php

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Aus der php4 Doku, http://www.php.net/manual/de/languag...bles.scope.php
    Die Verwendung von statischen Variablen

    Ein weiterer wichtiger Anwendungszweck von Variablen-Bereichen ist die static-Variable. Eine statische Variable existiert nur in einem lokalen Funktions-Bereich, der Wert geht beim Verlassen dieses Bereichs aber nicht verloren. Schauen Sie das folgende Beispiel an:
    Wieviel direkter muss es noch sein?

    Einen Kommentar schreiben:


  • Waq
    antwortet
    Zitat von Bruchpilot
    Doch, auch php4 kennt "static"
    Nein. Es gibt zwar (implizit) statische Methoden, statische Variablen gibts nicht direkt.

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Doch, auch php4 kennt "static"
    Aber Objekte werden dort by value anstatt by reference übergeben/zugewiesen. Bei php5 dann by reference.

    Versuche es mal (ohne Gewähr) mit $session = &session::signalton();
    übrigens: var $container; und var $lib;

    Einen Kommentar schreiben:


  • BlackHawkDC
    antwortet
    das riecht nach dem singleton pattern. google mal nach php4 und singelton.
    Irgendwie hatte php4 keine statischen Variablen. ausserdem was macht die klasse g_session von der du instantiierst. Wahrscheinlich liegt da das Problem. Fehlen nicht auch schliessende Klammern? [$class = new g_session();]

    Einen Kommentar schreiben:

Lädt...
X