Autor Zpráva
matak
Profil
PHP5 OOP - definovani promenne (staticke) kterou rodic vidi u potomka

resp. takto

class SuperClass {
public static $promenna;

function pouzij () {
echo self::$promenna;
}

}

class SubClass extends SuperClass {
public static $promenna = "neco";

}

potrebuji aby funkce pouzij pouzila $promennou s hodnotou "neco" napada nekoho jak prepsat tuto promennou externe?
ronnie
Profil
Self odkazuje na vlastní instanci, takže takto to asi nepůjde. Asi jen přepsat.


class SuperClass
{
public static $promenna = null;

function pouzij ()
{
echo $this;
}

function __toString()
{
return self::$promenna;
}
}

class SubClass extends SuperClass
{
public static $promenna;
public function __construct()
{
SuperClass::$promenna = self::$promenna = 'něco';
}
}

$class = new SubClass();
$class->pouzij();
matak
Profil
jo ale to ma jeden hacek, pokud budou dve SubClass a budu je chtit obe pouzit zaroven tak ta posledni nastavi superclass na svou hodnotu a tim padem mi prestane fungovat subclass1, jestli mi rozumiš
Toto téma je uzamčeno. Odpověď nelze zaslat.

0