मुझे अपने PHP स्क्रिप्ट में <?
के बजाय <?php
का उपयोग क्यों करना चाहिए?<? के बजाय php <?
उत्तर
दो मुख्य कारण कम खुलने वाला टैग से बचने के लिए कर रहे हैं
- अधिकतम पोर्टेबिलिटी -
<?php
हर पीएचपी सक्षम सर्वर पर काम करेंगे, लेकिन<?
निष्क्रिय किया जा सकता - यह का उद्घाटन करने के समान है एक्सएमएल प्रस्तावना - का कारण बन सकता पार्स या निष्पादन सिरदर्द
एक्सएमएल तर्क में नहीं गिना जाता (http: //hsivonen.iki। फाई/उत्पादन-xml /)। एक्सएमएल तर्क एसक्यूएल तार से बचने के लिए एक गैर मानक रास्ते पर निर्णय लेने के रूप में एक ही श्रेणी में है। पीएचपी टीम एक बड़ा गलती की है और गलती से इस छोटे से टैग सुविधा को मार डाला। – stesch
कोई भी सर्वर व्यवस्थापक जो अक्षम करता है गोली मार दी जानी चाहिए। –
जैस्पर, कृपया शूटिंग लोगों की वकालत न करें जब तक कि आप आंखों में लक्ष्य देखने को तैयार न हों और ट्रिगर को स्वयं खींचें। –
दोनों अर्थात् समान हैं। <?
पूर्ण वाक्यविन्यास के लिए बस एक शॉर्टकट है।
जेएसपी – Vinze
निक में बिल्कुल वही काम करता है। मैंने जो कोड दिखाया वह एएसपी.नेट एमवीसी के लिए था और बस –
था लेकिन यह एक गलत सादृश्य था। PHP एक उपयोगिता टैग प्रदान करता है जैसे ASP.Net करता है, लेकिन यह = जैसा कि मेरी पिछली टिप्पणी में बताया गया है। आपने अपना जवाब सही किया है इसलिए मैंने आपको +1 किया। – nickohrn
यह ध्यान दिया जाना चाहिए कि PHP की कुछ सर्वर कॉन्फ़िगरेशन बॉक्स में से एक या दूसरे का समर्थन नहीं करते हैं। उदाहरण के लिए, मेरा वेब सर्वर < का समर्थन नहीं करता है? लेकिन करता है समर्थन <? php
यह तकनीकी रूप से सही नहीं है - सभी php प्रतिष्ठानों सामान्य (लंबी) खुलने वाले टैग का समर्थन है, जबकि कम खुलने वाला टैग कर सकते हैं अक्षम रहें कहने के लिए "कुछ एक या दूसरे का समर्थन नहीं करते हैं" वास्तव में गलत है। –
वहाँ पीएचपी शुरू करने के लिए
<?php
और
<?
पीएचपी भी शामिल
<?=
लेकिन उस के पीछे चर बाहर प्रिंट होगा दो तरीके हैं यह, क्योंकि यह गूंज के लिए एक लघुरूप है।
आपको <? Php का उपयोग सभी सर्वर प्रकारों के साथ संगत होने के बाद करना चाहिए। आप अपने कोड को एक नए होस्टिंग समाधान में ले जा सकते हैं या एक नया सर्वर डिफ़ॉल्ट सेट कर सकते हैं और shorthands अक्षम किया जा सकता है।
लघु टैग <?
(और <?=
) अक्षम किया जा सकता है। लंबे संस्करण <?php
(और <?=
= <?php echo
) हर जगह काम करते हैं।
हम ऐसी चीज को कॉन्फ़िगर करने योग्य बनाने के लिए PHP टीम के इस निर्णय की भावना पर चर्चा कर सकते हैं, लेकिन सार यह है कि आप पोर्टेबल कोड में छोटे टैग का उपयोग नहीं कर सकते हैं।
पृथ्वी पर क्यों कोई भी लघु टैग अक्षम करेगा? –
@ ओरियन एडवर्ड्स: यह एक कॉन्फ़िगरेशन विकल्प है। php.ini पोर्टेबल कोड लिखना वाकई मुश्किल बनाता है। आवश्यक से अधिक कठिन है। यदि यह एक विकल्प है, तो यह पोर्टेबल कोड के लिए वर्जित है। :-( – stesch
Wordpress Coding Standards का कहना है कि केवल <?php
का उपयोग करें। वे क्यों नहीं समझाते हैं।
यह एक धार्मिक सवाल हो सकता है।
Php कोड अधिक पोर्टेबल है क्यों वर्डप्रेस कोडिंग मानक यह सिफारिश करता है, कि। – nickohrn
मुझे नहीं लगता कि जब मैं इस जवाब दिया स्टैक ओवरफ़्लो टिप्पणी की थी। –
मैं व्यक्तिगत रूप से <?
पसंद करते हैं दो कारणों
- पीएचपी कई बड़े पीएचपी परियोजना भर में मानक कोडिंग की सलाह देते हैं यह बंद किया जा करने के लिए
- समस्याएं पैदा करता है, तो आप XML डॉक्स पैदा कर रहे हैं (xml डॉक्स शुरू के लिए बंद किया जा करने के लिए
<?xml version="1.0" encoding="UTF-8" ?>
के साथ) - (बोनस)
<?php
<?
से अधिक पठनीय और प्रमुख रूप से दिखाई देता है।
# 3 एक MISfeature है। मैं PHP से बाहर निकलना चाहते हैं मेरी लानत तरह से, नहीं ही प्रमुखता से सामने प्रस्तुत करें –
आपका बिंदु 2 आप एक बोजो बनाता है:। http://hsivonen.iki.fi/producing-xml/ – stesch
संक्षिप्त रूप <?
/<?=
वाक्य रचना के समर्थन short_open_tag
parameter in php.ini पर आधारित है। यदि आप अपना कोडबेस होस्ट करते हैं, तो यह सक्षम करने के लिए छोटा है।हालांकि, साझा/प्रबंधित वेब होस्ट पर, आपके पास इस सेटिंग पर नियंत्रण नहीं हो सकता है।
इस प्रकार, अधिकतम पोर्टेबिलिटी के लिए आप लंबे समय फार्म सिंटैक्स का उपयोग करना चाहिए।
प्रत्येक के स्पष्टीकरण में जोड़ने के लिए कि छोटे टैग का उपयोग नहीं किया जाना चाहिए क्योंकि उन्हें अक्षम किया जा सकता है (या शायद भविष्य के PHP संस्करणों से भी हटाया जा सकता है), छोटे टैग को बहिष्कृत करने के लिए मुख्य तर्क यह है कि वे वैध XML नहीं हैं "प्रोसेसिंग निर्देश "जबकि <?php
टैग हैं। तो <?php ... ?>
टैग वाले PHP टेम्पलेट्स वैध XML दस्तावेज़ हो सकते हैं जबकि छोटे टैग का उपयोग करने वाले लोग नहीं हैं।
पोर्टेबिलिटी तर्क सब अच्छी तरह से और अच्छे हैं, लेकिन मैं पवित्र वस्तु दूषक जा रहा हूँ और कहते हैं कि आप आगे जाना है और कम टैग का उपयोग करता है, तो आप, करना चाहते हैं जब तक आप कर रहे हैं चाहिए कुछ ऐसा करना जो वास्तव में व्यापक वितरण (स्रोत का) है, या कुछ बहुत ही एक्सएमएल केंद्रित कर रहा है।
ए) मैं ऐसी परिस्थिति में कभी नहीं रहा हूं जहां मैं लघु टैग सक्षम नहीं कर सका। आमतौर पर वे डिफ़ॉल्ट रूप से चालू होते हैं।
बी) अधिकांश स्थितियों में, <?
<?xml
के साथ उलझन में नहीं जा रहा है क्योंकि उन्हें ढेर के विभिन्न स्तरों पर पार्स किया जा रहा है।
ग) लघु टैग कम निकला हुआ है और इसलिए clutters अपने कोड में कम है। मुझे यह विशेष रूप से <?php echo
बनाम <?=
के साथ सच लगता है। (आप तर्क दे सकते हैं कि आपको आम तौर पर उनमें से किसी एक का उपयोग करने से बचना चाहिए, क्योंकि इसका मतलब है कि आप स्पेगेटी कोड लिख रहे हैं, लेकिन चलो - यह php है!)
बेशक, यह सब किस प्रकार के पर निर्भर करता है जिस परियोजना पर आप काम कर रहे हैं, लेकिन मूल वेबसाइट के लिए, मुझे नहीं लगता कि शॉर्ट टैग आपको चोट पहुंचाने की संभावना है।
फिर भी भविष्य में PHP छोटे टैग सक्षम नहीं होंगे और आपका सभी कोड अगली बड़ी रिलीज के साथ टूट जाएगा। –
क्या यह सच है? क्या इसके लिए कोई आधिकारिक स्रोत है? – sprugman
php.net पर, मुझे लंबे टैग का उपयोग करने की सिफारिश दिखाई देती है, जो ठीक है, लेकिन मुझे जाने वाले छोटे टैग के बारे में कुछ भी अधिकारी नहीं दिख रहा है। – sprugman
- 1. PHP व्यंजक <<< EOB
- 2. PHP क्या <<< मतलब है?
- 3. <? Php और <के बीच अंतर?
- 4. php.ini: मुझे क्या लिखना चाहिए, लिखने के लिए <? इसके बजाय <? php?
- 5. php:</p><p>
- 6. PHP में, "<<<" क्या दर्शाता है?
- 7. PHP के अंदर गेटटेक्स्ट का उपयोग करके PHP <<< ईओएफ स्ट्रिंग
- 8. PHP में <<< ईओडी का उपयोग क्या है?
- 9. क्यों std :: string s ("?? <") आउटपुट के बजाय {? की बजाय ?? <आउटपुट करेगा?
- 10. एक <br> के बजाय <div></div> दबाकर एक contenteditable
- 11. PHP ऑपरेटर <>
- 12. PHP <? WAMP
- 13. <?= ?> PHP
- 14. पीएचपी: <<< ob_start बनाम
- 15. 'ऑपरेटर <<' के लिए 'std :: cout <<' में अस्पष्ट अधिभार <<
- 16. <% $, <% @, <% =, <% # ... सौदा क्या है?
- 17. PHP के "<? Php" टैग का भारी उपयोग
- 18. <a href.. in PHP
- 19. <? या <? php --- क्या कोई अंतर है?
- 20. PHPUnit: कक्षा <ClassName><ClassNameTest> .php
- 21. क्यों अमरूद के TypeToken <T> .getRawType() वापसी कक्षा <? super T> बजाय कक्षा <T>
- 22. मुझे पर्ल में <ARGV> या <के बजाय <> का उपयोग क्यों करना चाहिए?
- 23. क्या '* 2' के बजाय '<< 1' का उपयोग करने का कोई फायदा है?
- 24. एंड्रॉइड मैनिफेस्ट: कभी-कभी "<classname>" के बजाय "<classname>" क्यों?
- 25. अंदर परिभाषित चर का उपयोग <<< PHP में HTML
- 26. >>>>,> |, ||, | <, <, <<
- 27. <script></script> या <script />?
- 28. डेटा.table परिभाषित क्यों किया गया है: = ओवरलोडिंग के बजाय <-?
- 29. ईजेएस: <% = बनाम <% -
- 30. cout << स्ट्रिंगस्ट्रीम
यह अनिवार्य रूप से http://stackoverflow.com/questions/436688/difference-between-php-echo-sessionid-and-sessionid –
का एक डुप्ली वास्तव में नहीं है; यह प्रश्न शॉर्टटैग (परिवर्तनीय सामग्री को प्रतिबिंबित करने का एक त्वरित तरीका) के बारे में है, wheareas यह विभिन्न टैग सम्मेलनों के बारे में है। –
लेकिन उत्तर यह एक डुप्ली होने का कारण बनता है। –