Vererbung tut nicht richtig??

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

  • Vererbung tut nicht richtig??

    Hi alle,
    ich hab' da so 'n kleines problem.
    Eine Klasse ist von einer anderen abgeleitet, diese Superklasse besitzt eine Variable, welche auch gefüllt ist.
    Instanziiere ich die Kind-Klasse kann ich zwar mit $this->var auf die benötigte variable zugreifen, allerdings bekommt sie keinen inhalt.
    Folgender Sachverhalt:

    Im Browser tippe ich http://host/default.php?aom=go

    Die Superklasse empfängt die Daten:

    PHP-Code:
    new Application($aom);

      class 
    Application {    

         var 
    $CLASS_NAME "XApplication";
        
         var 
    $action;
                
         function 
    Application($action) {
           
    $this->action=$action;
      } 
    Irgendwann wird die abgeleitete Klasse instanziiert:

    PHP-Code:
      class Main extends Application {    

           
    /** horrible crap, extending doesn't work with content
                 of the vars */        
           
    function Main() {
              echo 
    $this->action// accessible but no content
              
    echo $this->CLASS_NAME // works!!
           
    }                      
      } 
    Lasse ich mir von der Superklasse den Inhalt ausgeben, die bereits bei der Instanziierung mit einem Initialwert gefüllt ist ($CLASS_NAME) erhalte ich, wie erwartet, "XApplication" zurück.

    Gibt's da irgendein Timing-Problem oder hat PHP da schlichtweg Probleme mit dem handling von dynamischen variablen in den Objekten?!

    Danke mal,
    -martin

  • #2
    Und wo legst Du jetzt 'ne Instanz der Abgeleiteten Klasse an??

    In dem Code Sniplet auf jeden Fall nicht ... !
    carpe noctem

    [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
    [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

    Kommentar


    • #3
      Die Instanz wird irgendwann im weiteren Programmablauf angelegt (nach x-anderen klassen) ...

      Das Problem ist aber, dass ich auf Konstanten, die zum Zeitpunkt der Objekterstellung initialisiert werden, jederzeit von der abgeleiteten Klasse zugreifen kann, nicht jedoch auf Variablen die dynamisch gefüllt werden, wie z. B. aom (default.php?aom=irgendwas).

      Kommentar


      • #4
        Original geschrieben von martin
        Die Instanz wird irgendwann im weiteren Programmablauf angelegt (nach x-anderen klassen) ...

        Das Problem ist aber, dass ich auf Konstanten, die zum Zeitpunkt der Objekterstellung initialisiert werden, jederzeit von der abgeleiteten Klasse zugreifen kann, nicht jedoch auf Variablen die dynamisch gefüllt werden, wie z. B. aom (default.php?aom=irgendwas).
        Ich denke trotzdem das da eher ein Denkfehler deinerseits vorliegt ... leider ist das aufgrund der 5 Codezeilen nicht abschliessend zu begutachten ... allerdings konnte ich den von Dir beschriebenen Fehler bisher noch nicht nachvollziehen.
        carpe noctem

        [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
        [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

        Kommentar

        Lädt...
        X