IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

php5.3 et echo ou <?=


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2008
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 79
    Par défaut php5.3 et echo ou <?=
    Bonjour,

    Je viens de mettre à jour mon serveur de dev PHP pour passer de la version 5.0 à 5.3 (le grand saut !).
    Bien sûr, ça ne marche pas du premier coup ! Mais je vais régler ça.

    J'ai cependant un petit doute :
    Dans de nombreux endroit de mon code, j'utilisais le au lieu de ce qui me simplifiait l'écriture et la lecture du code, mais il semblerait que ça ne fonctionne plus.

    Pouvez-vous me confirmer ce changement ? Ou est ce simplement une configuration du serveur à changer ?

    Merci.

  2. #2
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Salut

    ce qui me simplifiait l'écriture et la lecture du code, mais il semblerait que ça ne fonctionne plus.
    Ca ne fais que confirmer que ton code n'est pas si portable que ça.
    En faite, faire <? est dépendant d'une directive du php.ini short_open_tag qui dans ton cas actuel est à Off (désactivé).
    La réactiver va résoudre le problème (ce qui n'est vraiment pas grand chose).

    Cependant, faire <?php echo $truc; ?> fonctionnera à coup sûr, c'est la syntaxe de base, donc fonctionnera quelque soit la valeur de cette directive.


    Après ça, à chacun sa façon de voir les choses, mais pour exemple, personnellement j'appelle ça faire des économies "bouts d'chandelles" d'utiliser <? ou <?=, je ne vois vraiment pas ce que ça apporte de plus.
    Je suis plutôt d'avis de coder toujours d'une seule et unique façon, la bonne si possible, ça évite les mauvaises surprises.
    Mais c'est mon avis.

  3. #3
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 333
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 333
    Billets dans le blog
    17
    Par défaut
    Je laisse toujours short_open_tag à Off pour conserver la compatibilité avec XML.

    short_open_tag Off :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?xml version="1.0"?>
    <?php
       ...
    ?>
    short_open_tag On :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    echo '<?xml version="1.0"?>' ; // Sinon erreur à cause de <?
    <?php
       ...
    ?>

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    c'est pas short_open_tag mais asp_tags, même si elle dépend de la première

  5. #5
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 333
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 333
    Billets dans le blog
    17
    Par défaut
    Pour résumer :
    asp_tags à On parmet d'utiliser <?= (et accessoirement <% à la place de <?/<?php)
    Pour qu'asp_tags soit effectif il faut que short_open_tags soit à On

  6. #6
    Membre confirmé
    Inscrit en
    Octobre 2008
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 79
    Par défaut
    Merci pour toute vos réponses.

    Il s'agissait bien de la directive short_open_tag dans php.ini.

    J'ai bien compris la leçon et pour les futurs développement, je tâcherai d'écrire la version longue <?php echo $toto ?>. Cependant, comme j'ai plusieurs anciens site qui utilise la notation <?= ?>, je vais quand même garder le short_open_tag à On.

    Merci à tous.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment ecrire sur la meme ligne avec la commane ECHO
    Par juflata dans le forum Windows
    Réponses: 3
    Dernier message: 24/11/2015, 09h06
  2. Comment aller a la ligne avec la commande ECHO
    Par juflata dans le forum Windows
    Réponses: 3
    Dernier message: 23/06/2004, 17h11
  3. probleme d' echo dans un batch
    Par zorian dans le forum Windows
    Réponses: 16
    Dernier message: 18/05/2004, 17h21
  4. [HARDWARE]Problème d'écho audio
    Par Tostaki dans le forum Composants
    Réponses: 5
    Dernier message: 07/12/2003, 23h38
  5. Envoyer un message icmp (Echo Request)
    Par ovdz dans le forum Développement
    Réponses: 5
    Dernier message: 19/06/2003, 14h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo