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 6function 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 5echo 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:
Články píše Jan Barášek © 2009-2024 | Kontakt | Mapa webu
Status | Aktualizováno: ... | es