Jednoduchy dotaz: Kde delam chybu, ze se mi nic nevypise na obrazovku?
class Barva
{
public static $barva = "modra";
public static function GetBarva()
{
return $self->barva;
}
}
echo Barva::GetBarva();
pokud se nemylim, tak staticka metoda se nedostane k parametrum tridy.. (tim spis ne k $self), protoze neni vazana k instanci objektu
udelat z parametru static znamena jen to, ze bude ve vsech instancich stejna hodnota (a kazda instance ji muze zmenit)
EDIT: a kdyz zapnes vypisovani chyb a warningu tak dostanes:
PHP Notice: Undefined variable: self in /home/mikusm/test/php/test.php on line 7
PHP Notice: Trying to get property of non-object in /home/mikusm/test/php/test.php on line 7
#1 Jirinas
$self je nedefinovaná proměnná,použij self::barva;
jako vzor ti může posloužit Singleton v php:
class Singleton
{
private static $instance = NULL;
public static function getInstance()
{
if( self::$instance == NULL )
self::$instance = new Singleton;
return self::$instance;
}
}
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku