112 votes

Mot-clé 'static' à l’intérieur de la fonction?

Je regardais la source de Drupal 7, et j’ai trouvé des choses que je n’avais pas vues auparavant. J’ai fait quelques premières recherches dans le manuel php, mais cela n’expliquait pas ces exemples.

Que fait le mot clé `` à une variable à l’intérieur d’une fonction ?

162voto

Yoshi Points 25790

Cela permet à la fonction de mémoriser la valeur de la variable donnée `` (dans votre exemple) entre plusieurs appels.

Vous pouvez l’utiliser à différentes fins, par exemple :

Dans cet exemple, le ne serait exécuté qu’une seule fois. Même si plusieurs appels à se produiraient.

89voto

bad_boy Points 3723

On dirait que personne n’a mentionné jusqu’à présent, que les variables statiques à l’intérieur de différentes instances de la même classe restent leur état. Soyez donc prudent lorsque vous écrivez du code OOP.

Considérez ceci :

Si vous souhaitez qu’une variable statique se souvienne de son état uniquement pour l’instance de classe actuelle, vous feriez mieux de vous en tenir à une propriété de classe, comme ceci :If you want a static variable to remember its state only for current class instance, you’d better to stick to a class property, like this:

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X