एक टेम्पलेटिंग सिस्टम (PHP स्वयं) के ऊपर टेम्पलेटिंग सिस्टम को लागू करने के चरण में, डिफ़ॉल्ट रूप से ओवरहेड बनाने के लिए, आप XSL Transformations जैसे अधिक मजबूत समाधान के लिए जा सकते हैं, जो MVC princples का भी अनुपालन करता है (बशर्ते आप अपना डेटा- पुनर्प्राप्ति; प्लस, मैं व्यक्तिगत रूप से तर्क को विभिन्न फ़ाइलों के साथ एक्सएमएल प्रदर्शित करने से विभाजित करता हूं)।
कल्पना करें कि एक सारणी में निम्न जानकारी है, जिसे आप किसी तालिका में प्रदर्शित करना चाहते हैं।
Array
{
[car] => green
[bike] => red
}
आप आसानी से एक स्क्रिप्ट है कि XML में यह जानकारी आउटपुट बनाएँ:
echo "<VEHICLES>\n";
foreach(array_keys($aVehicles) as $sVehicle)
echo "\t<VEHICLE>".$sVehicle."</NAME><COLOR>".$aVehicles[$sVehicle]."</COLOR></VEHICLE>\n";
echo "</VEHICLES>\n";
निम्न XML में परिणामी:
<VEHICLES>
<VEHICLE>
<NAME>car</NAME>
<COLOR>green</COLOR>
</VEHICLE>
<VEHICLE>
<NAME>bike</NAME>
<COLOR>red</COLOR>
</VEHICLE>
</VEHICLES>
अब यह सब उत्कृष्ट है, लेकिन यह नहीं होगा एक अच्छे प्रारूप में प्रदर्शित करें। यह जहां XSLT में आता है कुछ सरल कोड के साथ, आप एक तालिका में इस बदल सकता है:।
<xsl:template match="VEHICLES">
<TABLE>
<xsl:apply-templates select="VEHICLE">
</TABLE>
</xsl:template>
<xsl:template match="VEHICLE">
<TR>
<TD><xsl:value-of select="NAME"></TD>
<TD><xsl:value-of select="COLOR"></TD>
</TR>
</xsl:template>
एट देखा, तो आप है:
<TABLE>
<TR>
<TD>car</TD>
<TD>green</TD>
</TR>
<TR>
<TD>bike</TD>
<TD>red</TD>
</TR>
</TABLE>
अब इस सरल उदाहरण के लिए, यदि यह कुछ है ओवरकिल का; लेकिन बड़ी परियोजनाओं में जटिल संरचनाओं के लिए, यह आपके स्क्रिप्टिंग तर्क को आपके मार्कअप से दूर रखने का एक पूर्ण तरीका है।
आजकल मैं यही करता हूं। एक स्क्रिप्ट में डेटा को संसाधित करें, उचित 'दृश्य' स्क्रिप्ट शामिल करें। दृश्य स्क्रिप्ट में, मैं केवल HTML के अंदर चर को प्रतिबिंबित करता हूं और यदि आवश्यक हो तो लूप करता है। – Imran
बहुत, बहुत अच्छी सलाह। बस "एमवीसी का उपयोग करें" से काफी बेहतर है। – da5id
हाँ, कभी-कभी मुझे खेद है कि किसी ने मुझे अभी नहीं बताया कि मेरे पहले वर्षों के दौरान। लोगों को नोब को नहीं देना चाहिए ताकि वे उन सभी ताजा तकनीकों के लिए एकदम सही शुरुआत करने के लिए कह सकें। –