11
votes

fopen avec / sans @ avant

J'ai vu des échantillons de code qui utilisent un @ avant fopen comme dans xxx

Quelle est la signification de ce @ ?


0 commentaires

3 Réponses :


15
votes

Il supprime les erreurs Une expression peut afficher.

Vous pouvez en savoir plus sur celui-ci Ici .

Exemple: xxx


6 commentaires

J'ai eu une bonne affaire avec les appels de fonction MySQL.


Ce n'est généralement pas une bonne idée. Au lieu de cela, vous devez utiliser une fonction comme is_whitable pour tester si un fichier est écritable.


Pour les applications de production, c'est généralement une mauvaise idée - la suppression des erreurs est une performance touchée.


@DAV Un succès de performance est une superstition sauvage. Mais utiliser @ est toujours mauvais car il quittera le programmeur sans informations critiques.


Si ce n'est pas une bonne idée ou sa mauvaise pratique, pourquoi php le permettant?


@Fil pour le développement



7
votes

Le contrôle d'erreur d'erreur de PHP.

PHP prend en charge un opérateur de contrôle d'erreur: le signe (@). Lorsqu'il a été ajouté à une expression en PHP, tous les messages d'erreur pouvant être générés par cette expression seront ignorés .

plus ici .


0 commentaires

2
votes

Utiliser @ est toujours une mauvaise pratique. Il supprimera un message d'erreur si se produit, tandis que les messages d'erreur sont extrêmement utiles pour le programmeur et la suppression du suicide. Le destin de PHP doit être utilisé principalement non par les programmeurs, mais par des utilisateurs occasionnels qui n'ont aucune idée. Vous avez ce code de l'un de ce dernier type. Donc, mieux de se débarrasser de tout @ , vous pourrez donc voir ce qui s'est passé et corriger une erreur.
Notez que chaque message d'erreur a une signification particulière et explique ce que le problème est. Par exemple, il peut y avoir un problème d'autorisations de système de fichiers ou un paramètre PHP Open_BaseDir pour empêcher le fichier d'ouverture. Donc, un message d'erreur vous indiquera quoi faire. Les messages d'erreur sont bons et @ est diabolique.


0 commentaires