#1 před rokem

xxxObiWan
Člen
Registrovaný: 4. 5. 2010
Příspěvky: 445

Třídní proměnné a reference

Ahoj,
potřeboval bych pochopit, proč nefunguje tenhle skript a jak to lze udělat, aby fungoval :-) Díky

<?php
class MojeTrida{
    var $nejaka_hodnota = &$GLOBALS["MojeTrida"]["nejaka_hodnota"];

    Function MojeTrida(){}
}

// použití by pak bylo bez potřeby vytvářet instanci třídy

Echo MojeTrida::$nejaka_hodnota;
?>

nejdřív jsem to zkoušel narvat do konstanty, ale s tím mě PHP poslal úplně někam (nehledě na to, že slovo const podporuje až PHP5)

<?php
class MojeTrida{
    const nejaka_hodnota = &$GLOBALS["MojeTrida"]["nejaka_hodnota"];

    Function MojeTrida(){}
}

// použití by pak bylo bez potřeby vytvářet instanci třídy

Echo MojeTrida::nejaka_hodnota;
?>

jde mi o to, abych mělv $GLOBALS nějakou hodnotu (která se samozřejmě může měnit), a pomocí třídy (bez vytváření instance) k ní mohl přistupovat

 

#2 před rokem

phx
Moderator
Registrovaný: 17. 4. 2008
Příspěvky: 878

Re: Třídní proměnné a reference

Klicove slovo static.

class MojeTrida {
        static $nejakaHodnota = &$GLOBALS["MojeTrida"]["nejaka_hodnota"];
}

 

#3 před rokem

xxxObiWan
Člen
Registrovaný: 4. 5. 2010
Příspěvky: 445

Re: Třídní proměnné a reference

Díky, zkusil jsem to, ale hází to chybu:

Parse error: syntax error, unexpected '&' in /...blabla.../code.php on line 3

 

#4 před rokem

phx
Moderator
Registrovaný: 17. 4. 2008
Příspěvky: 878

Re: Třídní proměnné a reference

Zkus to bez toho &. Asi to takhle naplnit nepujde.

Urcite to pujde takto:

class MojeTrida {
        static $nejakaHodnota;
}

MojeTrida::$nejakaHodnota = &$GLOBALS["MojeTrida"]["nejaka_hodnota"];

 

Zápatí