php - What is the difference between @$_POST vs $_POST....? -
इस सवाल का पहले से ही एक उत्तर है: < / p>
- 11 जवाब
मैं अलग-अलग तरीकों से देख रहा था किसी ब्राउज़र के रीफ़्रेश के बाद किसी उपयोगकर्ता के इनपुट को सहेजने के लिए और मैं इस पर फिर से आया हूं:
value = "& lt;? Php echo @ $ _ POST ['blah'];? & Gt;" & gt;
और मैंने यह भी निम्न की तरह देखा है:
मूल्य = "& lt;? php echo $ _POST ['blah'];? & gt; "& gt;
ये दोनों एक ही काम करते हैं $ _POST सरणी के लिए तैयार @ चिह्न का क्या महत्व है? क्या एक तरीका दूसरे के ऊपर पसंद किया जाता है?
@ PHP है असल में, एक अभिव्यक्ति (जैसे कि एक सरणी प्रवेश या फ़ंक्शन कॉल) से पहले इसे डालने से कोई भी त्रुटियां रोक दी जाएंगी जो आम तौर पर उत्पन्न हो जाएंगी। कार्यात्मक रूप से, कोई अंतर नहीं है, आपकी सेटिंग्स के आधार पर, चेतावनियां / नोटिस जेनरेट किए जाएंगे और लॉग या प्रदर्शित किए जाएंगे।
इस मामले में, यदि 'blah' $ _POST सरणी में परिभाषित नहीं है, तो पहला फॉर्म (@ के साथ) एक नोटिस नहीं बनाएगा, जबकि दूसरा फॉर्म।
जो भी पसंद है, मेरे अनुभव में
@ आमतौर पर निराश हो जाता है, जैसा कि कुछ भी है कि सिर्फ त्रुटियों को दबाता है - बेहतर अभ्यास, चीजों की जांच करने के बारे में पहले सक्रिय होना है अन्य कारणों के अलावा, PHP डॉक्स इस कारण से सावधान रहें:
चेतावनी: वर्तमान में "@" त्रुटि नियंत्रण ऑपरेटर उपसर्ग गंभीर त्रुटियों के लिए त्रुटि रिपोर्टिंग भी अक्षम करेगा जो स्क्रिप्ट को समाप्त कर देंगे निष्पादन। अन्य बातों के अलावा, इसका मतलब यह है कि यदि आप किसी निश्चित फ़ंक्शन से त्रुटियों को दबाने के लिए "@" का उपयोग करते हैं और या तो यह उपलब्ध नहीं है या गलत टाइप कर दिया गया है, तो स्क्रिप्ट वहीं मर जाएगी, क्यों नहीं के संकेत के साथ। < / ब्लॉकक्वाइट>
टीएल; डीआर: यह त्रुटियों को दबा देती है, जो आम तौर पर निराश हो जाती है जब तक आपके पास ऐसा करने का कोई अच्छा कारण नहीं है। सक्रिय होने के लिए बेहतर।
Comments
Post a Comment