Globální proměnné v PHP

Globální proměnné jsou takové proměnné, na které se lze odkázat i mimo právě probíhající funkci. Zápis vypadá následovně:

$a = 1;
$b = 2;

function suma () {
   global $a, $b;
   $b = $a + $b;
}

suma ();

echo $b; // vypíše číslo 3, protože proměnná $b je globální

Problém globálních proměnných

Všeobecně se má za to, že by se globální proměnné neměly používat, protože znepřehledňují kód a vnášejí potenciální chyby, které se špatně hledají. Každá funkce by měla mít jasně definované vstupy pomocí svých parametrů a také by měla mít jeden jasný výstup přes jeden společný return, aby byla předvidatelná.

Pokud vytváříte script, kde zpracováváte například vstup od uživatele, tak můžete použít superglobální proměnnou, která slouží pro tyto účely a v jakékoli části scriptu má stejnou hodnotu, zatímco klasická proměnná se může změnit a rozbít celý script.

function vypisJmena() {
    return $_GET['jmeno'];
}

echo vypisJmena();

Toto je pravděpodobně jediné rozumné využití globálních proměnných, i když i zde se jedná o dost spornou situaci.

Sponzorované odkazy
Pomohl Vám tento článek?