PHP के लिए सबसे अच्छा अभ्यास


11

जब कोई टेम्पलेट जैसे कि single.php और आप html में लिपटे हुए php करते हैं, क्या यह सबसे अच्छा है:

  1. शुरू + PHP बंद करो? उदाहरण के लिए

     <h1 class="post-tilte"><?php the_title(); ?></h1>
     <p class="post-content"><?php the_content();?></p>

या

  1. इको HTML और एस्केप PHP? उदाहरण के लिए -

    <?php echo '<h1 class="post-title">' . get_the_title() . '</h1>
    <p class="post-content"' . get_the_content() . '</p>

मेरे पास पहले से पसंद नहीं है और खुद को दोनों कर रहा है, बस कुछ विचारों को सुनने के लिए उत्सुक हूं


6
पहली विधि अधिक डिजाइनर अनुकूल है। इसलिए जब बहुत सारे HTML और थोड़ा सा PHP के साथ टेम्पलेट, पहले एक करें। PHP का एक बहुत और HTML का एक छोटा सा होने पर दूसरा उपयोगी है। इसे functions.phpया प्लग इन आदि में करें
फ़ैज़

3
तुम भी वहाँ भूल गयाprintf( '<h1 class="post-title">%s</h1>', get_the_title() );
Howdy_McGee

जवाबों:


10

यह सवाल केवल प्रासंगिक है, क्योंकि वर्डप्रेस एक कोडिंग भाषा और लेआउट भाषा से मिश्रण का उपयोग करता है। यदि आप एक टेम्पलेट भाषा, वाक्यविन्यास का उपयोग करेंगे, तो यह विषय प्रासंगिक नहीं है। लेकिन आपके प्रश्न के लिए। यदि आप एक थीम के लिए अपने उदाहरण स्रोत का उपयोग करते हैं, तो html जैसी अधिक लेआउट भाषा, तो मैं पहले वाले को पसंद करता हूं - यह डिजाइनर और उपयोगकर्ताओं के लिए बहुत अधिक पठनीय है, मार्कअप को पढ़ना होगा। मार्कअप के बारे में एक सिंहावलोकन बनाना आसान है, क्या आपके पास खुले और समापन टैग आदि हैं।

प्लगइन्स में शामिल करने के लिए, अधिक तर्क और प्रवाह के साथ कोड लागू करना आसान दूसरा उदाहरण है। मुख्य विषय php है, मार्कअप नहीं है और इसे स्रोत में दिखाई देना चाहिए। यह भी टेम्पलेट फ़ाइलों में इस मार्कअप को बाहर करने और तर्क से मार्कअप को अलग करने के बारे में सोचने का एक बिंदु है।


1
पहले एक और लाभ यह है कि कुछ संपादक इसी उद्घाटन या समापन टैग को उजागर करेंगे यदि आप इसमें अपना कर्सर रखते हैं लेकिन बाद वाला आमतौर पर उस सुविधा को तोड़ देगा।
मंकीज़ेउस

8

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


5

जैसा कि ऊपर उत्तर में समझाया गया है, पहला तरीका डिज़ाइनर फ्रेंडली है और दूसरा तरीका शायद प्लगइन्स और जटिल php कोड के मामलों में उपयुक्त है जहाँ html टैग की संख्या केवल कुछ ही है।

लेकिन वर्डप्रेस टेम्पलेट टैग के सबसे है beforeऔर afterमानकों और इसके लिए अधिक उपयुक्त समारोह कॉल के अंदर अपने html कोड का उपयोग करने के लिए।

उदाहरण के लिए इसके मामले the_titleमें तीन पैरामीटर हैं

the_title( $before, $after, $echo );

आप नीचे दिए गए मापदंडों से पहले और बाद में अपना html पास कर सकते हैं

the_title( '<h2 class="title">', '</h2>', true );

इस विधि के फायदे हैं

  • डिजाइनर अनुकूल
  • यदि शीर्षक खाली है तो html टैग प्रिंट नहीं करेंगे
  • जटिल php कोड और साथ ही सरल टेम्पलेट फ़ाइलों में उपयोग किया जा सकता है

0

पहली विधि बेहतर है क्योंकि:

  • यह निर्धारित HTML लेआउट को गतिशील सामग्री से स्पष्ट रूप से अलग करता है।
  • इसे पढ़ना आसान है।
  • अधिकांश संपादकों में सिंटैक्स हाइलाइटिंग द्वारा इसे बेहतर समर्थन दिया जाता है, क्योंकि इन-स्ट्रिंग HTML विशेषताओं को आमतौर पर मान्यता नहीं दी जाती है।
  • यह HTML और PHP को बहुत आसानी से आपस में जोड़ने से रोकता है।

ऊपर बताए गए कारणों के कारण, पहला तरीका कोड की ओर जाता है जो समझने में आसान है और इस प्रकार बनाए रखना आसान है।

मेरे अनुभव में, कुछ स्थितियों में, दूसरी विधि का उपयोग करने के लिए यह अधिक सुविधाजनक प्रतीत हो सकता है। हालांकि, यह आमतौर पर कमजोर (सॉफ्टवेयर) डिजाइन के कारण होता है और इसे चेतावनी संकेत के रूप में देखा जाना चाहिए।


0

आप कोड उदाहरण सीमांत हैं क्योंकि यह केवल कोड की दो लाइनें दिखाता है, लेकिन मेरा मानना ​​है कि समग्र उत्तर काफी स्थितिजन्य है। यदि आप एक HTML ब्लॉक के भीतर एक PHP लाइन का उपयोग कर रहे हैं तो पहली विधि का उपयोग करें। यदि आप एक PHP ब्लॉक के भीतर एचटीएमएल लाइन का उपयोग कर रहे हैं तो दूसरे के साथ जाएं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.