दिलचस्प पोस्ट
जार में लोड गुण फ़ाइल? एक दृश्य नियंत्रक को दूसरे दृश्य नियंत्रक में एक सबव्यू के रूप में जोड़ना दो पंक्तियों का प्रयोग करके ढेर को लागू करें सभी त्रुटियां और चेतावनियां दिखा रहा है पीडीएफ की भाषा गैर-अंग्रेज़ी है, इसे एक्सचर्स पीएचडी का उपयोग करके पढ़ें JQuery अजाक्स पोस्ट 500 इंटरनल सर्वर त्रुटि में परिणाम jQuery का चयन करें और टेक्स्टनोड लपेटें सरणी की कुंजी को पुनरावर्ती रूप से प्राप्त करें और अंडरस्कोर से अलग स्ट्रिंग बनाएं Javascript / jquery का उपयोग कर यूआरएल से फ़ाइल नाम कैसे खींचें? PHP घातक त्रुटि: ऑब्जेक्ट संदर्भ में नहीं होने पर $ का उपयोग करना क्या आप सीएसवी फाइल पढ़ने के लिए जावा लाइब्रेरी की सिफारिश कर सकते हैं? .NET 4.5 मेल में एक MemoryStream के रूप में हो रही है जावा सेट को बनाए रखने के आदेश? इनपुट और आउटपुट के लिए सी फंक्शन में नॉर्मि एरेज़ पास करना कल की एनएसडीट

PHP 5.4 के रूप में "गूंज" कम टैग स्थायी रूप से सक्षम क्यों हैं?

यहां तक ​​कि आधिकारिक दस्तावेज हमें यह बताते थे कि PHP "लघु टैग" ( <? /*...*/ ?> ) "खराब" हैं हालांकि, PHP 5.4 के बाद से, echo विविधता <?= /*...*/ ?> को short_open_tag सेटिंग की परवाह किए बिना स्थायी रूप से सक्षम किया गया है ।

क्या बदल गया है?

यहां तक ​​कि अगर वे पहले से अप्रत्याशित प्रकृति की वजह से पूरी तरह निराश हो गए हों कि क्या साझा किए गए होस्टिंग प्लेटफ़ॉर्म पर short_open_tag सक्षम है, तो निश्चित रूप से यह तर्क दूर नहीं जाता क्योंकि मेजबान के कुछ सबसेट PHP 5.4 चलेंगे?

बेशक भाषा में यह बदलाव स्वाभाविक रूप से सिफारिश में बदलाव को इंगित नहीं करता है कि हमें "कम टैग" से बचने चाहिए, लेकिन अगर वे परेशान हो गए तो निश्चित रूप से PHP देवों की तरह ऐसा लगता होगा कि वे उन्हें "नफरत" न करें बहुत। सही?

इस समय मैं केवल तार्किक निष्कर्ष निकालना चाहता हूं कि PHP 5.4 में इस परिवर्तन को लागू करने के लिए कुछ उद्देश्य तर्क होना चाहिए।

यह क्या है?

Solutions Collecting From Web of "PHP 5.4 के रूप में "गूंज" कम टैग स्थायी रूप से सक्षम क्यों हैं?"

छोटे खुले टैग हमेशा PHP 5.4 के बाद से सक्षम नहीं होते हैं। दस्तावेज़ संक्षिप्त इको टैग्स के बारे में बात करता है जो एक अलग बात है (छोटे खुले टैग <? शैली टैग हैं, छोटे गूंज टैग <?= ईको-आईएनजी के लिए शैली टैग हैं)।

तो फिर वे डिफ़ॉल्ट रूप से अब क्यों सक्षम हैं? ठीक है, वहाँ बहुत सारी स्क्रिप्ट हैं, जहां <?= $somevar ?> <?php echo $somevar ?> <?= $somevar ?> <?php echo $somevar ?> का उपयोग करने के लिए लाभ मिलता है <?php echo $somevar ?> और क्योंकि छोटे गूंज टैग छोटे खुले टैग के रूप में खराब नहीं होते हैं, इसलिए वे हमेशा छोटे इको टैग को सक्षम करने के लिए चुना करते थे । क्योंकि अब डेवलपर्स (चौखटे और सीएमएस -एस के) उन पर भरोसा कर सकते हैं (या बल्कि, जब PHP 5.4 मुख्य धारा बन जाता है)

हालांकि, छोटे खुले टैग अभी भी आपके php.ini में short_open_tag सेटिंग से प्रभावित हैं।

केवल कम गूंज टैग ( <?= ) स्थायी रूप से सक्षम है, छोटे खुले टैग नहीं ( <? ) इसका कारण यह है कि जब आप HTML टेम्पलेट्स (या कोई अन्य दृश्य टेम्प्लेट) बनाते हैं तो कम इको टैग वास्तव में आसान होता है और इसके बिना आपको बहुत कुछ लिखना पड़ता है (जैसे <?php echo $var; ?> बजाय <?= $var ?> )

नोट: PHP 5.4 से आरंभ, लघु इको टैग <?= हमेशा short_open_tag सेटिंग की परवाह किए बिना, मान्यता प्राप्त और मान्य है।

यह सब क्या कह रहा है, कि <?= हमेशा मान्य है, और नहीं <?

इसका कारण यह है कि < ? XML दस्तावेज़ों में उपयोग किया जाता है और short_open_tags को सक्षम करने से XML कोड में त्रुटियां उत्पन्न होंगी। लेकिन, < ?= , बस < ?php XML ओपन टैग नहीं है और उपयोग करने के लिए सुरक्षित है