Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Pseudo zmienna $this w funkcji klasy - problem ze zrozumieniem kodu
Forum PHP.pl > Forum > Przedszkole
tomazzi
Mam taki kawałek kodu:
Kod
abstract class Expression {
    private static $keycount=0;
    private $key;
    abstract function interpret( Context $context );

    function getKey() {
        if ( ! isset( $this->key ) ) {
            self::$keycount++;
            $this->key=self::$keycount;
        }
        return $this->key;
    }
}

class LiteralExpression extends Expression {
    private $value;

    function __construct( $value ) {
        $this->value = $value;
    }

    function interpret( Context $context ) {
        $context->replace($this, $this->value );
    }
}

$context = new Context();
$literal = new LiteralExpression( 'four');
$literal->interpret( $context );


Nie rozumiem parametru $this funkcji replace() w LiberalExpression::interpret. Co dokładnie dostaje w pierwszym parametrze funkcja replace(). Pierwszy raz spotykam się ze zmienną $this bez odwołania do konkretnej zmiennej.
Daiquiri
$this zwraca bieżący obiekt, zobacz sobie var_dump() dla $this smile.gif
mortus
$this to nic innego jak instancja klasy LiteralExpression, w tym przykładzie będzie to obiekt $literal, czyli taki, którego właściwość value ma wartość 'four'.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.