Autor Zpráva
Ratimor
Profil *
Dobrý večer, chtěl bych se jen zeptat, znamená globální proměnná to že ta proměnná zůstane i po obnovení php scriptu?
Nox
Profil
Ptáš se na globální v PHP nebo JS?

Asi PHP tedy, špatná sekce

Globální proměnná běžně znamená že taková proměnná je dostupná ve všech funkcích (ve všech scopech), jde s ní pracovat odkudkoli

V PHP takto fungují pouze superglobální proměnné definované PHPčkem...jedno z nich je tedy pole $GLOBALS, kde jsou i existující proměnné

$mojePromenna = 5;
function neco(){
  $mojePromenna; // undefined!
  $GLOBALS["mojePromenna"]; // definovaná
} 


existuje tedy keyword global, který zpřístupní proměnnou z globálního pro aktuální scope

function neco(){
  global $mojePromenna;
  $mojePromenna; // už je to ok
}



Ale obecně je ve většině případů lepší se globálním proměnným vyhnout a snad vždy to jde

Mezi skripty se nezachovávají žádné proměnné, PHP takto nefunguje. Lze je tedy předávat pomocí Session nebo Cookies (nebo soubory, databází atd., ale to už jsou permanentní úložiště (ikdyž tedy i sessions jsou na serveru vlastně také soubory, ale...))
Ratimor
Profil *
ne, myslel jsem když mám v JS globalni proměnnou jestli se udrží i když se refreshne PHP script ve kterém to všechno je
_es
Profil
Nie, úplne všetko, čo sa týka JavaScriptu sa stratí alebo načíta znovu.
Ratimor
Profil *
jasný, díky :)
DoubleThink
Profil *
Co se týče JavaScripu, to, čemu někteří říkají globální proměnná, je runtime vlastnost aktuálního objektu (typicky window).
_es
Profil
DoubleThink:
Co se týče JavaScripu, to, čemu někteří říkají globální proměnná, je runtime vlastnost aktuálního objektu (typicky window).

Globálna premenná a vlastnosť objektu window nie je celkom to isté.
Nox
Profil
Ratimor:
No však sis to mohl zkusit sám.... PHP sem nepleť protože server-side věci nemají s JS nic společného, ale dejme tomu prostě "refreshne stránka", tak ne... to by pak nejspíš bylo nazvané perzistentní proměnné nebo tak... "globální" znamená, že platí všude (pokud nejsou výjimky o kterých nevím)
_es
Profil
Ratimor:
Ale môžeš si nejaké veci z JS z okna alebo rámu "odložiť" do iného okna alebo rámu a neskôr ich použiť.
Ratimor
Profil *
jj díky :) už vím všechno co jsem vědět potřeboval, ať žijou hiddeny :D

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

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

0