2011-05-25 12 views
6

यह सड़क में मेरा कांटा है।Zend_View_Helper बनाम ज़ेंड देखें आंशिक स्क्रिप्ट

मैं अपने वेबपृष्ठ पर कुछ प्रकार का बटन दिखाना चाहता हूं और मैं इसे कई स्थानों पर करना चाहता हूं। यह 'बटन' वास्तव में कुछ अन्य पेज के लिंक की तरह कार्य करेगा और सभी बटन उदाहरण एक पृष्ठ पर जा रहे हैं।

मैं चाहता हूं कि सभी बटन समान आकार के अलावा समान हों।

अब, क्या मुझे बटन के लिए एचटीएमएल के साथ आंशिक स्क्रिप्ट का उपयोग करना चाहिए और आंशिक दृश्य सहायक को रेंडर करने के लिए कॉल करना चाहिए या क्या मुझे ज़ेंड_व्यू_हेल्पर बनाना चाहिए जो बटन को कॉल करने पर बटन के लिए वापस कर देगा?

मुझे पता है कि मैं किसी भी तरह से स्विंग कर सकता हूं लेकिन आपको क्या लगता है बेहतर है?

कुछ बातें मैं देख रहा हूँ:

  1. सहायक बेहतर हो सकता है क्योंकि यह आंशिक करने के लिए एक Zend_View का एक क्लोन की तरह एक बड़ी वस्तु बनाने के लिए नहीं होगा।

  2. आंशिक स्क्रिप्ट किसी HTML व्यक्ति के साथ काम करने के लिए आसान होगी।

उत्तर

9

उपयोग $ this-> प्रस्तुत करना() के बजाय $ इस- की> आंशिक()।

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

अपने वास्तविक प्रश्न को छूने के लिए, मैं एक दृश्य सहायक पर रेंडर (या आंशिक) का उपयोग करने की सलाह देता हूं क्योंकि डिजाइन के लिए काम करना बहुत आसान है, और वहां कम ओवरहेड है। देखें कार्यक्षमता कस्टम कार्यक्षमता के लिए हैं।

अंगूठे का एक अच्छा नियम है: क्या आप सामग्री/एचटीएमएल शामिल करना चाहते हैं, या आप सामग्री/आवेदन परिवर्तन लागू करना चाहते हैं। सहायक बाद के लिए हैं।

+0

अंगूठे के नियम और रेंडर विधि का उल्लेख करने के लिए धन्यवाद। आंशिक से यह कम ओवरहेड है। –

1

आपके विवरण के आधार पर मैं आपके कार्य के लिए आंशिक उपयोग करने का सुझाव दूंगा। कारण यह है कि आपका बटन मुख्य रूप से एचटीएमएल लगता है, बिना PHP के। आप आकार को आंशिक तक पास कर सकते हैं और यह होगा। हालांकि, यदि आप अपने बटन की पीढ़ी (जैसे डेटाबेस, ऑथ या एसीएल प्रश्न) में अधिक तर्क शामिल करना चाहते हैं तो मैं सुझाव सहायक का सुझाव दूंगा।

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

1

जब भी मुझे बहुत पैरामीटरयुक्त मूल्यों की आवश्यकता होती है तो मैं एक दृश्य सहायक का उपयोग करता हूं। उदाहरण के लिए:

$this->buttonText = 'Button Text'; 
$this->buttonUrl = '/foo/bar/baz'; 
echo $this->render('button.phtml'); 

इसके अलावा, वहाँ कोई कारण नहीं है कि आप अपने दृश्य सहायक के भीतर से एक दृश्य स्क्रिप्ट से प्रस्तुत नहीं कर सकते हैं:

echo $this->button('Button Text', '/foo/bar/baz'); 

तुलना में काफी बेहतर लग रहा है।

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