/
Variables

Variables locales en PHP

22. 08. 2019

Las variables locales sólo son válidas dentro del cuerpo de **función** o **método** (en programación orientada a objetos).

Si estamos trabajando en el contexto de un script regular, todo sucede como se espera:

$x = 5;
echo $x; // imprime 5

Pero cuando definimos una función personalizada, el comportamiento cambia ligeramente:

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

La razón es que la variable $x sólo existe en el contexto de la función o método actual. Este comportamiento es intencionado.

Si queremos pasar un valor del código circundante a una función, tenemos que llamarla con los parámetros necesarios:

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

Los valores se introducen en las funciones mediante parámetros. Si quieres pasar variables adicionales a la función más allá de los parámetros, puedes usar variables-globales, pero no es una buena idea.

El uso de variables locales supone una gran diferencia a la hora de programar una aplicación mayor. Si no distinguiéramos la validez de las variables a través de los contextos, sería imposible garantizar que una variable no fuera anulada en un lugar donde no contamos con ella (por eso las variables globales son malas).

$x = 5;
$y = 3;
function soucet(int $x, int $y): int
{
return $x + $y;
}
echo $x; // imprime 5
echo soucet($x, $y); // imprime 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.