2013-04-04 3 views
-1

J'ai du mal à comprendre cela en php.Utiliser la variable globale à l'intérieur de la fonction?

J'ai une variable appelée $ user qui contient le nom d'utilisateur.

Dans ma fonction, je besoin d'utiliser cette variable:

function test($message) { 
    echo "user: $user, message: $message"; 
} 

Je ne sais comment le faire en passant l'utilisateur $ à la fonction chaque fois que je vous appelle, mais je suis une situation particulière dans laquelle je ne peux pas le faire. Alors, comment puis-je utiliser une variable définie en dehors de ma fonction à l'intérieur de celle-ci?

+2

Voir global. http://php.net/manual/fr/language.variables.scope.php – j08691

Répondre

2

J'essaie d'éviter d'utiliser des variables globales si possible. Mais $GLOBALS['user'] renverra la valeur globale de $user depuis l'intérieur de votre fonction. Ou si vous utilisez global $user;, $user sera défini à partir de sa valeur globale dans votre fonction.

+0

Pourquoi est-ce une bonne idée de les éviter? Je me demandais juste – lisovaccaro

+0

La raison principale est quand une application se développe et devient plus grande, elle pollue l'espace de noms. Les classes et les fonctions sont construites pour contenir des ensembles de logique et de variables. Si vous n'utilisez pas cette pratique, les variables commenceront à se chevaucher et causer des problèmes (comment pouvez-vous vous souvenir de chaque variable dans votre application?). http://c2.com/cgi/wiki?GlobalVariablesAreBad – Sam

Questions connexes