PHP Manual
/
Premenné

Miestne premenné v PHP

22. 08. 2019

Lokálne premenné sú platné len v tele **funkcie** alebo **metódy** (v objektovo orientovanom programovaní).

Ak pracujeme v kontexte bežného skriptu, všetko sa deje podľa očakávania:

$x = 5;
echo $x; // vytlačí 5

Keď však definujeme vlastnú funkciu, správanie sa mierne zmení:

$x = 5;
function mojeFunkce(): int
{
$x = 3;
echo $x; // vytlačí 3
}
echo $x; // vytlačí 5

Dôvodom je, že premenná $x existuje len v kontexte aktuálnej funkcie alebo metódy. Toto správanie je zámerné.

Ak chceme funkcii odovzdať hodnotu z okolitého kódu, musíme ju zavolať s potrebnými parametrami:

echo mojeFunkce(5); // vytlačí 6
function mojeFunkce(int $x): int
{
return $x + 1;
}

Hodnoty sa do funkcií zadávajú pomocou parametrov. Ak chcete do funkcie odovzdať ďalšie premenné nad rámec parametrov, môžete použiť globálne premenné, ale nie je to dobrý nápad.

Používanie lokálnych premenných je pri programovaní väčších aplikácií veľmi dôležité. Ak by sme nerozlišovali platnosť premenných v rôznych kontextoch, nebolo by možné zaručiť, že premenná nebude prepísaná na mieste, kde s ňou nepočítame (preto sú globálne premenné zlé).

$x = 5;
$y = 3;
function soucet(int $x, int $y): int
{
return $x + $y;
}
echo $x; // vytlačí 5
echo soucet($x, $y); // vytlačí 8

Jan Barášek   Více o autorovi

Autor článku pracuje jako seniorní vývojář a software architekt v Praze. Navrhuje a spravuje velké webové aplikace, které znáte a používáte. Od roku 2009 nabral bohaté zkušenosti, které tímto webem předává dál.

Rád vám pomůžu:

Související články

1.
2.
Status:
All systems normal.
2024