Bonjour à tous,
Je me pose une question quant à la portée des variables en php. J'ai un petit exemple, sans grand intérêt, qui permet d'illustrer mon propos.
Logiquement la variable $estPlusGrand n’existe que dans le contexte du premier if. Cependant, $estPlusGrand semble avoir une portée globale, pourquoi ? Par contre, $jeGlobale je suis d'accord est elle globale.Code:
1
2
3
4
5
6
7
8
9
10
11
12 <?php $jeGlobale = "J'ai une portée globale !"; if(2>1){ $estPlusGrand = "Oui, c'est vrai...<br>"; } if(true){ echo $estPlusGrand; } echo $estPlusGrand; ?>
Autre exemple un peu plus rustique :aie:
Là aussi $ex->getMessage() affiche le message...Code:
1
2
3
4
5
6
7
8
9 <?php try{ $pdo = new PDO('hello'); }catch(Exception $ex){ echo "Exception lancée...<br>"; } echo $ex->getMessage(); ?>
La doc php à ce sujet :
PHP variables scope
Est-ce que quelqu'un pourrait m'expliquer ?
Merci pour votre aide.