Autor Zpráva
matej21
Profil
zdravim, potreboval bych drobnou radu :)
<?php 
class A{
	protected static $test;
	public function value(){
		return self::$test;
	}
}
class B extends A{
	public function __construct(){
		self::$test = "b";
	}

}
class C extends A{
	public function __construct(){
		self::$test = "c";
	}
}
$b = new B();
$c = new C();
echo $b->value(); //bohuzel vypise "c" :(
?>

potrebuju, aby po nastaveni statickeho atributu byl sdileny pouze k potomkovi, odkud byl nastaven. nikoliv k rodici a tudiz i k ostatnim potomkum te rodicovske tridy. neexistuje nejake klicove klicove slovo, ktere se o to postara? :)
Jan Tvrdík
Profil
matej21:
class A{
    public function value(){
        return static::$test; // PHP 5.3
    }
}
class B extends A{
    protected static $test;
    public function __construct(){
        self::$test = "b";
    }

}
class C extends A{
    protected static $test;
    public function __construct(){
        self::$test = "c";
    }
}
matej21
Profil
j diky :) tohle me taky napadlo, ale doufal jsem, ze bude i neco lepsiho, kde se
protected static $test;
nebude muset psat v kazdej tride :)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: