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 :

includes et erreur de syntaxe = "die" obligé ?


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Merfolk
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    170
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 170
    Par défaut includes et erreur de syntaxe = "die" obligé ?
    Hello,
    (c'est pour la suite de ma discutions de hier)


    j'ai remarqué que s'il y a une erreur de syntaxe (genre ";" qui manque, pas une erreur à l'exécution)
    le script s'arrête net.

    que l'on mette include à la place de require ne change rien
    que l'on mette dans un try include... catch ne fait rien non plus apparament
    si je met @include() pareil, ça n'affiche plus d'erreur mais le script se bloque


    ya til une solution pour ignorer le fichier à la place alors ?
    ou bien un moyen de tester une erreur de syntaxe dans un fichier php avant de l'include ?





    merci

  2. #2
    Membre Expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Par défaut
    Salut,

    Une erreur de syntaxe, c'est potentiellement grave. Il est donc normal que cela crashe le script.
    Tu peux éventuellement gérer tout ça avec des exceptions, mais sur une erreur de syntaxe, je pense qu'il faut se casser la gueule et corriger la faute.
    Un peu de rigueur ne fait pas de mal.

  3. #3
    Membre confirmé Avatar de Merfolk
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    170
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 170
    Par défaut
    Tu peux éventuellement gérer tout ça avec des exceptions
    comment ? ça ne lance pas d'exception ça crash (enfin c'est mon constat)


    Après ce n'est pas forcément une affaire de rigeur
    une faute de frappe ça peut arriver, et ce serait regrettable que une page soit plantée à cause de l'affichage d'un petit bloc de 30*30 pixel qui est censé afficher la dernière photo ou un truc comme ça.
    Un include d'un fichier source / d'une librairie -> oui ça plante c'est normal
    Un include d'un mini bloc sur une page (ex qui affiche juste la date), on peut s'en passer et afficher un petit bloc blanc.

    ça peut servir de rattraper un include

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Non, si ça crashe, c'est que l'erreur est suffisamment importante pour planter le script. Sinon, tu n'aurais qu'un warning ou une notice.

    L'interpréteur ne fait la différence entre un ; manquant dans une série d'echo qui servent à afficher tes mensurations en tous petits caractères dans un coin de ta page perso et un ; manquant dans le script assurant la sécurité du transfert d'argent pendant le virement que tu fais pour payer ton loyer.
    C'est pas intelligent un ordi, ça fait exactement ce qu'on lui demande. Et pour lui c'est : Un ; manquant = je ne comprends pas la ligne suivante = une erreur = on arrête tout

    Pour autant que je me rappelle jusqu'à php 4 et quelques, l'include qui plantait n'arrêtait pas forcément le script appelant, mais les dernières versions de php ont corrigé ça, donc il doit y avoir une raison
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  5. #5
    Membre confirmé Avatar de Merfolk
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    170
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 170
    Par défaut
    je suis 100% d'accord avec ce que tu marques et n'ai jamais dit le contraire...
    Je demandais juste si il y avait une sorte d'équivalent à un "include", qui fasse "return false" au lieu d'un "die"

    pour gérer justement à la main une erreur éventuelle sur des scripts peu importants.

  6. #6
    Membre Expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Par défaut
    Il faut que tu regardes ces deux fonctions : set_error_handler() et set_exception_handler()

Discussions similaires

  1. [MySQL] Syntaxe erreur apres avoir mis un quote '
    Par AyManoVic dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 12/07/2010, 17h50
  2. [MySQL] Supprimer les erreurs de syntaxe dues aux quotes
    Par gotenks dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 25/01/2006, 17h10

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