• [^] # Re: Bouleversifiant

    Posté par . En réponse au journal Nous les intellectuels autoproclamés du numérique. Évalué à 3.

    Je ne comprends pas bien ta remarque, en PHP la portabilité d’une variable dépend simplement de la où elle est déclarée/définie. Si je déclare $a=42 à l’intérieur d’une fonction, par défaut ma variable n’est définie que dans cette fonction et pas en dehors :

    php > function toto() {
    php { $a=2; print $a; }
    php > print toto();
    2
    php > print $a;
    PHP Notice: Undefined variable: a in php shell code on line 1

    Je vois pas en quoi c’est déconnant ce comportement. Alors que si je comprends bien, en Perl, une variable a par défaut une portée globale si elle n’a pas été déclarée avec my ?

    En PHP il faut préciser global pour déclarer une variable à portée globale... il faut bien faire un choix et vu que les variable globales c’est à éviter je trouve pour le coup le choix de PHP (qu’il faille explicitement préciser qu’on souhaite une portée globle) plus pertinent ! :) Ou alors j’ai rien compris...