Les variables locales ne sont valables que dans le corps d'une **fonction** ou d'une **méthode** (en programmation orientée objet).
Si nous travaillons dans le contexte d'un script ordinaire, tout se passe comme prévu :
$x = 5;echo $x; // imprime 5
Mais lorsque nous définissons une fonction personnalisée, le comportement change légèrement :
$x = 5;function mojeFunkce(): int{$x = 3;echo $x; // imprime 3}echo $x; // imprime 5
La raison en est que la variable $x n'existe que dans le contexte de la fonction ou de la méthode en cours. Ce comportement est intentionnel.
Si nous voulons transmettre une valeur du code environnant à une fonction, nous devons l'appeler avec les paramètres nécessaires :
echo mojeFunkce(5); // imprime 6function mojeFunkce(int $x): int{return $x + 1;}
Les valeurs sont saisies dans les fonctions à l'aide de paramètres. Si vous voulez passer des variables supplémentaires dans la fonction au-delà des paramètres, vous pouvez utiliser variables globales, mais ce n'est pas une bonne idée.
L'utilisation de variables locales fait une énorme différence lors de la programmation d'une application plus importante. Si nous ne distinguions pas la validité des variables selon les contextes, il serait impossible de garantir qu'une variable ne sera pas surchargée à un endroit où nous ne comptons pas dessus (c'est pourquoi les variables globales sont diaboliques).
$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: ... | fr