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 :

[Système] fonctions commençant par un @ [Fait]


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2006
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2006
    Messages : 25
    Points : 36
    Points
    36
    Par défaut [Système] fonctions commençant par un @
    bonjour

    j'ai trouvé dans quelques exemples de scripts une utilisation de "@" dans la syntaxe, par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    @mysql_connect();
    @mail();
    ...
    que signifie le @ exactement ?
    merci d'avance :

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2003
    Messages : 154
    Points : 164
    Points
    164
    Par défaut
    le @ permet simplement de désactiver la gestion de l'erreur pour la fonction. aucune erreur php ne sera affichée si ta requête est en erreur.

  3. #3
    Membre confirmé Avatar de dj-julio
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Décembre 2005
    Messages : 745
    Points : 625
    Points
    625
    Par défaut
    Salut,

    sauf erreur de ma part, ça permet de ne pas afficher les erreurs si il y en a.
    à vérifier

  4. #4
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    et c'est donc une pratique fortement déconseillée...

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2003
    Messages : 154
    Points : 164
    Points
    164
    Par défaut
    tout dépend de la manière dont c'est développé... ça peut être aussi très utile.

  6. #6
    Membre éclairé Avatar de Hervé Saladin
    Homme Profil pro
    Ingénieur d'études en développement et déploiement d'applications
    Inscrit en
    Décembre 2004
    Messages
    647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur d'études en développement et déploiement d'applications
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2004
    Messages : 647
    Points : 799
    Points
    799
    Par défaut
    Citation Envoyé par Amara
    et c'est donc une pratique fortement déconseillée...
    oui, c'est vrai ... sauf si c'est pour remplacer les erreurs par un système de gestion d'exceptions
    Moi je fais souvent des trucs du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if($handle = @fopen('unfichier.txt'))
    {
      // ... traitempent du fichier
    }
    else
       throw new ExceptionPerso("echec de l'ouverture du fichier");
    Dans ce cas là c'est permis

  7. #7
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Oui c'est pour ça que j'ai mis "fortement", mais en général dans les sujets postés ici avec le @ qui pose problème c'est juste que les gens pensent être tranquilles en n'affichant pas les messages d'erreur mais forcément ça donne un comportement bizarre si les erreurs ne sont pas traitées en conséquence

  8. #8
    Membre éclairé Avatar de Hervé Saladin
    Homme Profil pro
    Ingénieur d'études en développement et déploiement d'applications
    Inscrit en
    Décembre 2004
    Messages
    647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur d'études en développement et déploiement d'applications
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2004
    Messages : 647
    Points : 799
    Points
    799
    Par défaut
    100% d'accord avec toi, je ne disais pas ça pour te contredire
    j'ajouterais ceci, pour zakaria_ et les éventuels autres lecteurs de ce post qui se posent des questions sur le sujet :
    si vous voulez cacher les messages d'erreur de votre appli une fois en production (pour qu'on ne voie pas qu'elle est bugguée, ou pour de louables précautions de sécurité), la bonne façon de procéder est de configurer l'option suivante dans le php.ini :
    tout en redirigeant les erreurs (non affichés mais bien présentes) vers un fichier de log :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    log_errors = 1;
    error_log = /chemin/vers/unfichier.log;
    Comme ça, les erreurs ne sont pas affichées à l'utilisateur, mais l'admin peut voir leurs traces et détecter d'éventuels bugs "post-déploiement"
    Par contre, en phase de développement c'est complètement débile, evidamment

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 21/03/2013, 16h19
  2. Résultat commençant par un chiffre avec requête SELECT
    Par nicolas.pissard dans le forum Requêtes
    Réponses: 4
    Dernier message: 02/04/2010, 14h31
  3. [Système] Fonction PHP à executer par un seuveur
    Par Bartheose dans le forum Langage
    Réponses: 1
    Dernier message: 18/01/2006, 13h38
  4. Peut on manipuler le système de fichier par T-SQL?
    Par WOLO Laurent dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 22/12/2003, 10h19
  5. Fonctions définies par l'utilisateur
    Par DiGueDao dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 25/06/2003, 12h17

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