2009-09-10 20 views
7

मैं सोच रहा था कि क्या कोई जानता है कि वास्तव में फ्रेमवर्क का उपयोग किए बिना ज़ेंड फ्रेमवर्क के कुछ घटकों का उपयोग कैसे किया जाए। उदाहरण के लिए, मैं उनके Zend_Validate घटकों का उपयोग करना चाहता हूं, लेकिन ढांचे के ऊपरी हिस्से को नहीं चाहते क्योंकि यह एक छोटी सी पृष्ठ स्क्रिप्ट है।वास्तविक ढांचे के बिना ज़ेंड फ्रेमवर्क घटकों का उपयोग करें?

क्या यह आसानी से किया जा सकता है, और यदि हां, तो क्या इसे पूरा करने के तरीके पर गाइड/ट्यूटोरियल हैं?

+0

आपके पास ढांचे का ओवरहेड कभी नहीं होगा, क्योंकि यह वास्तव में लाइब्रेरी का अधिक है। इसमें बस इसकी आवश्यकता होगी। यदि आप केवल 'Zend_Validate' का उपयोग करते हैं, तो आप केवल अपनी स्क्रिप्ट में इसे और इसकी निर्भरताओं सहित ही शामिल करेंगे। – jason

उत्तर

11

ज़ेंड फ्रेमवर्क घटकों को जानबूझकर ढांचे से ढीले जोड़े के लिए डिज़ाइन किया गया है।

ज़ेंड फ्रेमवर्क की घटक संरचना कुछ हद तक अद्वितीय है; प्रत्येक घटक अन्य घटकों पर कुछ निर्भरताओं के साथ डिज़ाइन किया गया है। यह ढीला युग्मित आर्किटेक्चर डेवलपर्स को अलग-अलग घटकों का उपयोग करने की अनुमति देता है। हम अक्सर इसे "उपयोग-पर-इच्छा" डिज़ाइन कहते हैं। [from here]

Here's a tool for pulling out specific components and their dependencies आपके आवेदन में उपयोग करने के लिए।

2

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

+0

व्यावहारिकता के लिए अपवोट :-) – namespaceform

1

ढीले जोड़े होने के दौरान फ्रेम फ्रेम घटकों को झुकाएं अभी भी युग्मित हैं। आप उदाहरण के लिए Zend_Mail घटक का उपयोग करने चाहते हैं - कि वास्तव में भी आवश्यकता होगी:

  1. Zend_Mime
  2. Zend_Exception
  3. Zend_Validation

Zend_Validation मान्य ईमेल के मात्र कारण के लिए लोड किया जाएगा पता डोमेन

तो - पूरी ज़ेंड लाइब्रेरी को शामिल करने के लिए सबसे अच्छी शर्त होगी। केवल कई घटकों को खींचकर - आप जल्द ही "निर्भरता नरक" में समाप्त हो जाएंगे, खासकर एपीआई परिवर्तनों के रूप में (हालांकि यह अक्सर नहीं होता है)।

इसके अलावा - संस्करण 2.0 से शुरू करने के लिए आपको ज़ेंड घटकों को लोड करने के लिए कुछ ऑटो-लोडर का उपयोग करना होगा क्योंकि सभी आवश्यक कॉल PHP कक्षाओं से हटा दी जाएंगी।

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