Autor Zpráva
PetrM
Profil *
Dobrý den.

Potřeboval bych aby jedna třída resp. její metoda mohla upravovat proměnné jiné metody ze které je volána.
Zkoušel jsem následující kód, ale nefunguje podle přestav.

btw: proměnnou nechci předávat jako parametr.

Děkuji za rady.

class Ha
{
    
    public static function doIt()
    {
        global $ta;
        var_dump($ta);
    }
    
}

class B
{
    public function crazy()
    {
        $ta = array(1,2,3,4,5);
        Ha::doIt();
    }
}

$b = new B;
$b->crazy();
Majkl578
Profil
Jedině argumentem a pomocí reference (&).
PetrM
Profil *
Asi to jinak nepůjde.
Díky.
Joker
Profil
PetrM:
V tom kódu výše je nejspíš problém v tom, že proměnná $ta je globální jenom v metodě doIt a ne v metodě crazy.

Nicméně ty parametry jsou mimo jiné právě od toho, aby bylo vidět, s jakými daty daný kus kódu pracuje a odstranily se situace, kdy není jasné, kde všude v kódu se vlastně s danou proměnnou pracuje.

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:

0