2013-01-08 15 views
6

मुझे एक ऐसी वेबसाइट मिली है जिसके लिए मुझे कुछ बदलाव करने की आवश्यकता है। हमेशा के रूप में वेबसाइट विकास में चीजों को करने के कई तरीके हैं। हालांकि, इस विशेष साइट ने मुझे भ्रमित कर दिया है। सभी एचटीएमएल हेरेडोक php स्क्रिप्ट के माध्यम से वितरित किया जाता है। हालांकि, कोई भी php प्रसंस्करण नहीं करता है।PHP हेरेडोक के माध्यम से सरल HTML क्यों उत्पन्न करते हैं?

उदाहरण के लिए (संरचना केवल) index.php:

<?php 
$html = <<<html 

<html> 
    <head></head> 
    <body> 
     {more simple HTML here. No php processing to be done} 
    </body> 
</html> 
html; 
echo $html; 
?> 

मैं php समझते हैं, लेकिन मैं समझ नहीं क्यों वे के रूप में बस php परिवर्तनीय संसाधन के बिना इसे वितरित करने के लिए विरोध करते पेज इस तरह से उत्पन्न । इससे पहले कि मुझे लगता है कि व्यक्ति को पता नहीं था कि वे क्या कर रहे थे, मैंने सोचा कि मैं पूछूंगा। कोई विचार?

यह स्टैक ओवरफ्लो पर मेरी पहली पोस्ट है इसलिए फ़ोरम शिष्टाचार पर प्रतिक्रिया भी आपका स्वागत है।

+0

यहां हेरेडोक विवरण है, जो आपके लिए उपयोगी हो सकता है: http: //in3.php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc –

+0

सामान्य रूप से लोग xml दस्तावेज़ों के साथ ऐसा करें जो वे वास्तविक फ़ाइल में सहेजने से पहले खेलते हैं ... अब मुझे लगता है कि पृष्ठ बनाने वाले कोडर को * आलसी सर्वर * आदर्श पसंद नहीं आया। –

+1

जहां तक ​​एसओ शिष्टाचार चला जाता है, बस [एफएक्यू] (http://stackoverflow.com/faq) के माध्यम से पढ़ा है। आपका प्रश्न अच्छी तरह लिखित और स्पष्ट है, जो एक महान शुरुआत है! –

उत्तर

1

ऐसा इसलिए हो सकता है क्योंकि वे हेरडोक के भीतर PHP चर का उपयोग करना चाहते थे। आपके उदाहरण में वे नहीं हैं, लेकिन मुझे लगता है कि वे स्थानों पर उपयोग किए जाते हैं। वहां से, मैं बस कल्पना करता हूं कि हेरेडोक हर जगह स्थिरता के लिए इस्तेमाल किया जाता है।

+0

यह सही साबित हुआ है। फाइलें वेबसाइट निर्माण कार्यक्रम द्वारा उत्पन्न की गई थीं। –

1

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

एचटीएमएल को एक अलग फ़ाइल में रखना या टेम्पलेट सिस्टम का उपयोग करना आम बात है - आम तौर पर हेड्रॉक्स या स्ट्रिंग अक्षर से बेहतर विकल्प होगा।

+1

मुझे लगता है कि वे सोच रहे हैं: HTML को एक चर में क्यों स्टोर करें और फिर इसे गूंजें? PHP से बचने के लिए बेहतर नहीं होगा तो बस इसे "नग्न" शामिल करें? –

+0

@GigaWatt यह वही है जो मैं सोच रहा था। यह शुद्ध एचटीएमएल के लिए हेरेडोक स्वरूपण का उपयोग करने के लिए अजीब लग रहा था। हालांकि, मुझे पता चला कि साइट बनाने के लिए इस्तेमाल किए गए किसी अन्य प्रोग्राम द्वारा PHP फ़ाइलों को उत्पन्न किया गया था। जनरेटर के लिए यह डिफ़ॉल्ट आउटपुट विधि है। –

1

PHP फ़ाइलें पहले से ही HTML में टेम्पलेट फ़ाइलें हैं।

<html> 
    <head></head> 
    <body> 
     {more simple HTML here. No php processing to be done} 
    </body> 
</html> 

बस, एक PHP फ़ाइल के शरीर में एचटीएमएल होने <?php और ?> के बाहर, एचटीएमएल रिटर्न:

के साथ अपने कोड को बदलें।

+0

मैं सहमत हूं। मैं इसे स्पष्ट करने के लिए कोड बदलने जा रहा हूं। –

1

आप विरासत डेवलपर के सिर में आने की कोशिश कर रहे सप्ताहों खर्च कर सकते हैं और यह समय बर्बाद हो गया है।

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

+1

यही वह है जो मैं करने जा रहा हूं। कोई लाभ नहीं होने के अलावा, मेरा संपादक एचटीएमएल के बजाय कोड को PHP के रूप में पार करता है। मेरे लिए कौन सा दर्द है। –