Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/12/2007, 15h39   #1
Membre à l'essai
 
Inscription : mai 2007
Messages : 63
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mai 2007
Messages : 63
Points : 22
Points : 22
Par défaut Pourquoi un @

Bonjour voila ma question.

Dans certaines applications que je rencontre je trouve souvent des @ avant les POST GET ou unlink ...

A quoi sert ce caractère ? Merci.
The SorroW est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2007, 15h48   #2
Modérateur
 
Avatar de ThomasR
 
Homme Thomas Rambaud
Développeur Web
Inscription : décembre 2007
Messages : 2 140
Détails du profil
Informations personnelles :
Nom : Homme Thomas Rambaud
Âge : 25
Localisation : France

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

Informations forums :
Inscription : décembre 2007
Messages : 2 140
Points : 2 885
Points : 2 885
Cela empêche l'interprêteur PHP d'afficher un message d'erreur si jamais la variable n'est pas valorisé, ou encore si la fonction s'est mal executée.

Je trouve un peu son utilisation déplorable mais ce n'est que mon avis. L'utilisation d'un "@" n'est jamais indispensable.
ThomasR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2007, 16h01   #3
Membre à l'essai
 
Inscription : mai 2007
Messages : 63
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mai 2007
Messages : 63
Points : 22
Points : 22
Pourquoi tu trouves son utilisation déplorable? çà à pas l'air mal si çà empeche d'afficher une erreur (à part si on veut debugguer lol)
The SorroW est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2007, 16h04   #4
Modérateur
 
Avatar de ThomasR
 
Homme Thomas Rambaud
Développeur Web
Inscription : décembre 2007
Messages : 2 140
Détails du profil
Informations personnelles :
Nom : Homme Thomas Rambaud
Âge : 25
Localisation : France

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

Informations forums :
Inscription : décembre 2007
Messages : 2 140
Points : 2 885
Points : 2 885
un petit if + isset ou arra_key_exists si besoin et plus besoin du @.

De plus avec un if on peut gérer le fait que oui ou non la variable/fonction a été valorisée/executée.
ThomasR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2007, 16h06   #5
Membre à l'essai
 
Inscription : mai 2007
Messages : 63
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mai 2007
Messages : 63
Points : 22
Points : 22
Ouais pour le POST ou GET ou SESSION ... c'est clair que le isset est beaucoup mieux mais dans le cas d'un unlink ou opendir ... c'est pas utile?
The SorroW est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2007, 16h09   #6
Modérateur
 
Avatar de ThomasR
 
Homme Thomas Rambaud
Développeur Web
Inscription : décembre 2007
Messages : 2 140
Détails du profil
Informations personnelles :
Nom : Homme Thomas Rambaud
Âge : 25
Localisation : France

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

Informations forums :
Inscription : décembre 2007
Messages : 2 140
Points : 2 885
Points : 2 885
Bah si imagines que tu aies besoin de supprimer un dossier.
Ca veut dire que si jamais le unlink n'a pas fonctionné le gérant du site ne sera pas au courant et cela peut entraver le bon fonctionnement du site.

ps : oui j'ai fait un edit entre temps :p
ThomasR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2007, 16h11   #7
Membre Expert
 
Avatar de Doksuri
 
Tiger Scott
Développeur Web
Inscription : juin 2006
Messages : 1 251
Détails du profil
Informations personnelles :
Nom : Tiger Scott
Âge : 42

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juin 2006
Messages : 1 251
Points : 1 514
Points : 1 514
bonjour,

utiliser un '@' est pour moi inadmissible pour 2 raisons :
1) le @ empêche l'affichage de l'erreur, mais c'est pas pour autant qu'il n'y a plus d'erreur.
2) celui qui utilise un @ est un "flemard" car il ne veux même pas prendre la peine de gérer les erreurs !

or, pour développer une application/script qui soit valable, il faut gérer TOUS les cas possible d'une erreurs : faut se mettre dans la peau du plus bête des clients .

après, c'est mon avis..
__________________
La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

N'oubliez pas le Le tag resolu.

Need_!
Doksuri est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2007, 16h13   #8
Membre à l'essai
 
Inscription : mai 2007
Messages : 63
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mai 2007
Messages : 63
Points : 22
Points : 22
Donc tu me conseil de ne pas utiliser ce @ sinon on sera jamais si y a des erreurs sur le site ou pas en gros
The SorroW est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2007, 16h13   #9
Modérateur
 
Avatar de ThomasR
 
Homme Thomas Rambaud
Développeur Web
Inscription : décembre 2007
Messages : 2 140
Détails du profil
Informations personnelles :
Nom : Homme Thomas Rambaud
Âge : 25
Localisation : France

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

Informations forums :
Inscription : décembre 2007
Messages : 2 140
Points : 2 885
Points : 2 885
Exactement.
ThomasR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2007, 16h15   #10
Membre à l'essai
 
Inscription : mai 2007
Messages : 63
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mai 2007
Messages : 63
Points : 22
Points : 22
Merci à tous pour ces précisions je vais ecouter vos conseils.

Bonne continuation à vous tous.
The SorroW est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2007, 19h01   #11
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Citation:
Envoyé par DEMMOTTE
2) celui qui utilise un @ est un "flemard" car il ne veux meme pas prendre la peine de gérer les erreurs !
PHP génère des erreurs (peu importe leur nature) dans des circonstances que le développeur ne peut pas gérer et ce en plus du retour d'une valeur fausse, je pense notamment aux extensions. Donc il ne serait pas forcément question de "flemme".

Cependant, je suis d'accord sur le fait qu'on ne devrait pas en utiliser puisque l'affichage ou non des erreurs dépendra de la configuration de son environnement : directive display_errors (théoriquement à On en développement et Off en production). Ce qui fait que la question de son utilisation ne devrait pas se poser en effet. Pour les hébergements mutualisés c'est une autre histoire ...

PS, la FAQ : Pourquoi utilise-t-on @ devant une expression ? qui traitait la question.
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2007, 19h52   #12
Membre chevronné
 
Avatar de |PaRa-BoL
 
Inscription : novembre 2003
Messages : 737
Détails du profil
Informations personnelles :
Âge : 25

Informations forums :
Inscription : novembre 2003
Messages : 737
Points : 782
Points : 782
Je ne suis pas d'accord :

Cela peut être utile pour ne pas afficher certaine notice :

Exemple :

Vérifier qu'une image est valide avec getimagesize(). Malheureusement en plus de retourner false, cette fonction génère un warning.
__________________
http://www.ape-project.org/
|PaRa-BoL est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2007, 20h06   #13
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Citation:
Envoyé par julp
PHP génère des erreurs (peu importe leur nature) dans des circonstances que le développeur ne peut pas gérer et ce en plus du retour d'une valeur fausse, je pense notamment aux extensions. Donc il ne serait pas forcément question de "flemme".
Citation:
Envoyé par |PaRa-BoL
Vérifier qu'une image est valide avec getimagesize(). Malheureusement en plus de retourner false, cette fonction génère un warning.
C'est ce que j'ai évoqué ... Tout est question de configuration de l'environnement : error_reporting permet d'en écarter (les messages de type notice en production ne sont pas très utiles alors qu'en développement ils peuvent être très révélateurs) et display_errors, voir mon précédent message.
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2007, 09h33   #14
Membre à l'essai
 
Inscription : mai 2007
Messages : 63
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mai 2007
Messages : 63
Points : 22
Points : 22
Oui effectivement je n'avais pas vu la FAQ à ce sujet dsl mais merci quand meme pour vos précisions.
The SorroW est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h06.


 
 
 
 
Partenaires

Hébergement Web