phpbar.de logo

Mailinglisten-Archive

[php] parent::property

[php] parent::property

Johannes Schlueter schlueter at phpbar.de
Don Apr 1 21:22:21 CEST 2004


On Thursday 01 April 2004 18:45, "patrick müller (aka elias)" wrote:
> Soll also heissen das parent::name() ein statischer aufruf ist???

nein, aber ein Hilfskonstrukt um auf eine überladene Funktion zugreifen zu 
können. Der Zugriff auf die Funktion ist aber schon im Objekt-Kontext.

<?php
class foo {
    var $a = 0;

    function methode() {
        echo $this->a;
    }
}

class bar extends foo {
    function methode() {
        parent::methode();
        $this->a=1;
        parent::methode();
    }
}

$foobar = new bar();
$foobar->methode(); // gibt 01 aus

// Wenn man die Funktion hingegen statisch aufruft:
foo::methode();  // ergibt Notice "Undefined variable:  this"
?>

Interessanterweise liefert ein 
   echo bar::methode();
Eine
  Warning: Problem with method call - please report this bug in - on line 15
Line 15 ist dabei die Zeile mit dem parent::methode-Aufruf, aber das sollte 
doch imho auch im statischen gehen, so dass parent::methode() dann auch ein 
statischer Aufruf ist, oder? Nunja, die Meldung sagt ja schon wo ich schen 
muss.

johannes

php::bar PHP Wiki   -   Listenarchive