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 :

Syntaxe définition constante [PHP 5.0]


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    186
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 186
    Points : 114
    Points
    114
    Par défaut Syntaxe définition constante
    Bonjour,

    Je voudrais savoir depuis quelle version de PHP il est incorrect de définir une constante sans l'entourer de guillemets
    Il me semble qu'avec les premières versions de PHP on pouvait écrire

    define(nom,"dupont")
    alors qu'avec PHP 5.0 il faut écrire
    define("nom", "dupont")

    sinon on aura (dans le cas d'utilisation de la première syntaxe) une erreur : Undefined pour toute reference à nom dans les lignes du programme PHP.

  2. #2
    Membre régulier Avatar de Persistant
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Septembre 2016
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Septembre 2016
    Messages : 50
    Points : 73
    Points
    73
    Par défaut
    Salut,

    Tu es sûr de ce que tu dis : Dans la doc http://php.net/manual/en/function.define.php#102273

    Error_reporting: Erreur, warning ou notice

  3. #3
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 234
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 234
    Points : 15 531
    Points
    15 531
    Par défaut
    cela ne dépend pas de la version de PHP ou de la fonction "define" mais de la configuration des erreurs

    de base, quand une constante non définie est présente dans le code exécuté, elle est remplacée par une chaine de caractère correspondant à ce nom est une erreur "notice" est lancée.
    donc si l'affichage des erreurs n'est pas activé et qu'aucun journal d'erreur n'est en place, la 1re ligne fait la même chose que la 2e :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    define(NOM, "Dupont");
    define("NOM", "Dupont");

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    186
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 186
    Points : 114
    Points
    114
    Par défaut
    Merci.

    Je ne comprenais pas pourquoi , suite à un changement d'herbergeur, des anciens fichiers *.php, généraient des erreurs lors de l'execution sur le nouveau serveur , à cause de l'absence de guillemets encadrant le nom de constantes.

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

Discussions similaires

  1. [PHP 5.3] Souci de syntaxe avec constant
    Par ETVigan dans le forum Langage
    Réponses: 13
    Dernier message: 05/07/2010, 15h29
  2. Réponses: 22
    Dernier message: 17/11/2007, 14h59
  3. [Syntaxe] Définir une constante
    Par belukrin dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 20/09/2006, 16h26
  4. Syntaxe d'une constante
    Par lodan dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 02/08/2006, 15h01
  5. [Configuration] Problème sur définition de constante
    Par Yobs dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 24/03/2006, 11h40

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