@ एक फ़ंक्शन कॉल से पहले चरित्र


135

PHP में इन दो फ़ंक्शन कॉल के बीच अंतर क्या है?

init_get($somevariable);

@init_get($somevariable);

"@" किसी भी php त्रुटियों और सूचनाओं को बंद कर देगा
Erkan özkök

जवाबों:


210

"@" आपके फ़ंक्शन द्वारा उठाए जा सकने वाले किसी भी php त्रुटियों को शांत करेगा।


लेकिन अगर आप @PHP के trigger_errorफ़ंक्शन के सामने रखते हैं तो क्या होगा ? मैंने देखा है कि कुछ कोड में, लेकिन इसका व्यवहार मेरे लिए अब तक असंगत है। कुछ मामलों में, मुझे कॉन्फ़िगर किए गए त्रुटि हैंडलर द्वारा रिपोर्ट की जा रही त्रुटि दिखाई देती है और अन्य मामलों में यह रिपोर्ट मिलती है।
fritzmg

2
@अस्थायी रूप से सेट हो जाएगा error_reporting0 के लिए, लेकिन नहीं होगा "दबाने" त्रुटि।
सॉलिडगम्बी


36

जैसा कि पहले ही उत्तर दिया जा चुका है @कि त्रुटि (यदि कोई है) को दिखाने से रोक दिया जाएगा।
प्रदर्शन के संदर्भ में यह अनुशंसित नहीं है।

Php क्या कर रहा है:

  • एरर डिस्प्ले स्टेट पढ़ना
  • कोई त्रुटि दिखाने के लिए त्रुटि प्रदर्शन सेट करना
  • अपना फ़ंक्शन चला रहा है
  • पिछले राज्य में त्रुटि प्रदर्शन सेट करना

यदि आप किसी त्रुटि का उपयोग नहीं करना चाहते हैं error_reporting(0);

या बस बग फ्री कोड लिखें: पी


शून्य डालना पसंद करते हैं, लेकिन अगर वह काम करता है, तो महान इसके बारे में नहीं जानते थे :)
एंटोनियोकेस

1
उन कार्यों के बारे में जो आप नियंत्रित नहीं करते हैं, उदाहरण के लिए मेल की तरह? अन्य कौन से विकल्प मौजूद हैं? मैं अभी @ का उपयोग कर रहा हूं, लेकिन अलग-अलग तरीके से करने में बहुत अच्छा होगा
spuas


6

जैसा कि सभी ने कहा, यह उस विशेष कार्य के लिए त्रुटियों के उत्पादन को रोकता है। हालाँकि, यह प्रदर्शन को बहुत कम कर देता है क्योंकि इसे दो बार त्रुटि प्रदर्शन सेटिंग को बदलना पड़ता है। मैं चेतावनियों या त्रुटियों को नजरअंदाज नहीं करने और इसके बजाय कोड को ठीक करने की सलाह दूंगा।


आपके उत्तर के लिए सभी को धन्यवाद। वह कोड मेरा नहीं है, मैं केवल उत्सुकता के लिए phpBB कोड देख रहा था, इसलिए मुझे प्रदर्शन की कोई समस्या नहीं है। :) एक बार फिर धन्यवाद।
निक्सी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.