2010-04-15 9 views
5

के बीच अंतर मुझे आंशिक रूप से प्रस्तुत करने वाली कार्रवाई के बजाय घटक का उपयोग क्यों करना चाहिए?सिम्फनी: एक्शन + आंशिक और एक घटक

यदि क्रियाएं घटकों को प्रस्तुत कर सकती हैं, तो घटकों का उपयोग करते समय बेहतर होता है?

मुझे इसके बारे में प्रकाश ..

Javi दें

+2

क्रिया आंशिक प्रस्तुत करना इरादा नहीं है। अकेले खड़े "मिनी-टेम्पलेट" के रूप में आंशिक का उपयोग करें, और "मिनी एक्शन और टेम्पलेट" के रूप में घटक। – Tom

उत्तर

7

घटकों का उपयोग किया जाता है जब आप (साइट के विभिन्न भागों में ब्लॉक किसी तरह का उदाहरण के लिए, एक "शीर्ष 10 बिक्री" या कुछ और शामिल करना चाहते हैं समान) - जिसके लिए कुछ नियंत्रक कोड प्रस्तुत करना आवश्यक है। आप

include_component($module_name, $component_name, array('var1' => $var1));
का उपयोग करके किसी क्रिया/आंशिक/किसी अन्य घटक के किसी अन्य टेम्पलेट में घटक का आउटपुट शामिल करते हैं, तो ब्राउज़र को सीधे एक क्रिया कहा जाता है, ताकि आप इसे किसी अन्य टेम्पलेट में आउटपुट शामिल न कर सकें (बिना किसी प्रकार के हैक के) एचटीएमएल के पुन: प्रयोज्य ब्लॉक के रूप में घटकों के बारे में सोचें जो कहीं भी शामिल हो सकते हैं, बनाम क्रियाएं जो पूरे पृष्ठ को प्रदान की जाती हैं और ब्राउज़र पर भेजी जाती हैं

+0

धन्यवाद !, यही वह है जिसे मैं ढूंढ रहा था: "ब्राउज़र द्वारा सीधे एक क्रिया को बुलाया जाना चाहिए, इसलिए आप इसे किसी अन्य टेम्पलेट में बिना किसी प्रकार के हैक में आउटपुट शामिल नहीं कर सकते हैं"। लेकिन मेरा प्रश्न अब है: टेम्पलेट्स में घटकों को हटाने और कार्यों को शामिल करने के लिए एक तरीका जोड़ने के बारे में आपकी राय क्या है ?? मैं सिम्फनी को और अधिक सरल बनाने के लिए एक विशेषता के रूप में पूछने में "सोच रहा हूं"। – ziiweb

+1

आप पहले से मौजूद होने के लिए पूछ रहे होंगे - घटक * बिल्कुल * टेम्पलेट्स में 'क्रियाओं' को शामिल करने के लिए डिज़ाइन किए गए हैं। – Raise

+2

घटकों को हटाने के लिए यह एक अच्छा विचार नहीं है, क्योंकि वे क्रियाओं का हल्का संस्करण हैं (वे रूटिंग सिस्टम, फ़िल्टर इत्यादि से नहीं जाते हैं, इसलिए वे अपने काम पर अधिक कुशल होते हैं) – matei

5

आंशिक एक 'टेम्पलेट' है जिसे किसी भी दृश्य पृष्ठ में पुन: उपयोग किया जा सकता है। इसका सरल & तेज़ है। सभी $ डेटा आंशिक के पैरामीटर के रूप में पारित किया जाना चाहिए। यदि संभव हो तो इमो, पसंदीदा किया जाना चाहिए।

घटक 'स्वयं की कार्रवाई के साथ टेम्पलेट' जैसा है जिसे किसी भी दृश्य पृष्ठ में पुन: उपयोग किया जा सकता है। आंशिक की तुलना में अधिक शक्तिशाली, लेकिन धीमी। यदि आप partials कि व्यापार तर्क की आवश्यकता होती है (अर्थात कार्रवाई/नियंत्रक) का उपयोग

http://www.symfony-project.org/book/1_0/07-Inside-the-View-Layer#chapter_07_code_fragments

संबंधित मुद्दे