Mais que faire si vous mettez @devant la trigger_errorfonction PHP ? J'ai vu cela dans certains codes, mais son comportement est incohérent pour moi jusqu'à présent. Dans certains cas, je vois l'erreur signalée par le gestionnaire d'erreurs configuré et dans d'autres cas, elle semble être signalée.
fritzmg
2
Le @sera temporairement mis error_reportingà 0 mais ne "supprimera" pas l'erreur.
Je préfère mettre zéro, mais si cela fonctionne, super je ne le savais pas :)
AntonioCS
1
Qu'en est-il des fonctions que vous ne contrôlez pas, comme le courrier par exemple? Quelles autres options existent? J'utilise @ en ce moment, mais ce serait génial de pouvoir le faire différemment
Comme tout le monde l'a dit, cela arrête la sortie des erreurs pour cette fonction particulière. Cependant, cela diminue considérablement les performances car il doit modifier le paramètre d'affichage des erreurs deux fois. Je recommanderais de NE PAS ignorer les avertissements ou les erreurs et de corriger le code à la place.
Merci à tous pour vos réponses. Ce code n'est pas le mien, je ne regardais que le code phpBB par curiosité, donc je n'ai aucun problème de performance. :) Merci encore.
Réponses:
le "@" fera taire toutes les erreurs php que votre fonction pourrait soulever.
la source
@
devant latrigger_error
fonction PHP ? J'ai vu cela dans certains codes, mais son comportement est incohérent pour moi jusqu'à présent. Dans certains cas, je vois l'erreur signalée par le gestionnaire d'erreurs configuré et dans d'autres cas, elle semble être signalée.@
sera temporairement miserror_reporting
à 0 mais ne "supprimera" pas l'erreur.Il fait taire les erreurs et les avertissements. Voir Opérateurs de contrôle d'erreur .
la source
Comme déjà répondu
@
, arrêtera l'erreur (le cas échéant) de s'afficher.En termes de performances, cela n'est pas recommandé.
Ce que fait PHP est:
Si vous ne souhaitez pas que des erreurs apparaissent, utilisez
error_reporting(0);
.Ou écrivez simplement du code sans bogue: P
la source
http://www.faqts.com/knowledge_base/view.phtml/aid/18068/fid/38
Toutes les expressions PHP peuvent être appelées avec le préfixe "@", ce qui désactive le rapport d'erreurs pour cette expression particulière.
la source
Comme tout le monde l'a dit, cela arrête la sortie des erreurs pour cette fonction particulière. Cependant, cela diminue considérablement les performances car il doit modifier le paramètre d'affichage des erreurs deux fois. Je recommanderais de NE PAS ignorer les avertissements ou les erreurs et de corriger le code à la place.
la source