2010-02-01 16 views
9

यदि मेरे पास स्ट्रिंग फ़ंक्शंस हैं तो मैं बहुत उपयोग करता हूं, क्या मुझे उन्हें एक सहायक वर्ग या लाइब्रेरी क्लास में रखना चाहिए?PHP फ्रेमवर्क में पुस्तकालयों और हेल्पर्स के बीच अंतर

फ़ंक्शंस जैसे: 30 वर्णों से अधिक समय तक ट्रंकेट स्ट्रिंग, एक यादृच्छिक स्ट्रिंग लौटाएं, सभी निचले मामलों को बनाएं और इसी तरह। ये वे कार्य हैं जिन्हें मुझे शायद ऑब्जेक्ट बनाने की आवश्यकता नहीं है। उन्हें स्थिर तरीकों के रूप में उपयोग करना बेहतर है।

क्या मुझे उन्हें लाइब्रेरी क्लास या हेल्पर क्लास में रखना चाहिए?

मुझे कब पता चलेगा कि कहां रखना है?

उत्तर

13

सहायकों वर्गों है कि पहले से ही वहाँ कुछ उदाहरण के लिए वहाँ के लिए एक सहायक हो सकता है मदद कर रहे हैं:

सरणी
स्ट्रिंग
यूआरएल
आदि

एक पुस्तकालय कुछ है कि कोई भी हो सकता है उपाय; यह आपके द्वारा पहली बार बनाया जा सकता है और किसी और ने नहीं बनाया है।

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

+1

क्या आप कह सकते हैं कि लाइब्रेरी कक्षाओं का उपयोग वस्तुओं को तुरंत चालू करने के लिए किया जाना चाहिए। यदि हां, तो यह जानना आसान है कि एक सहायक बनाने के लिए और पुस्तकालय वर्ग कब बनाना है। लेकिन जावा में, हमें गणित वर्ग मिला। और यह केवल स्थिर कार्य मिला। वापस वर्ग एक :) – ajsie

+0

@noname: आपकी टिप्पणी को समझ नहीं सका, लेकिन मैंने शुरू करने या शुरू करने के बारे में बात नहीं की। – Sarfraz

3

मुझे लगता है कि आप CodeIgniter का उपयोग कर रहे हैं।

चूंकि आप पहले से ही लिखते हैं कि आपको किसी ऑब्जेक्ट को तुरंत चालू करने की आवश्यकता नहीं है और इसे इसके स्थिर तरीकों में उपयोग करेंगे, फिर इसे हेल्पर में बनाने से इसे लाइब्रेरी में बनाने से समझदारी होगी।

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

1

यदि मेरे पास स्ट्रिंग फ़ंक्शंस हैं तो मैं बहुत उपयोग करता हूं, क्या मुझे उन्हें एक सहायक वर्ग या लाइब्रेरी क्लास में रखना चाहिए?

यदि वे कार्य कर रहे हैं, तो आप उन्हें कक्षा में क्यों रखना चाहते हैं? PHP मुफ्त फ्लोटिंग कार्यों के लिए अनुमति देता है।

+0

PHP बहुत कुछ देता है, कभी-कभी यह गन्दा क्यों हो सकता है। तो मैं जानना चाहता था कि सबसे अच्छी संरचना क्या है। – ajsie

+0

यदि यह स्पष्ट नहीं था, तो मैं यह कह रहा था कि मुझे लगता है कि वर्णित मामले के लिए नि: शुल्क कार्य सर्वोत्तम संरचना है। – troelskn

2

हेल्पर उपयोगकर्ता परिभाषित या पूर्व परिभाषित कार्यों का संग्रह है, तत्काल आवश्यकता के साथ-साथ पुस्तकालयों को कक्षाओं का उपयोग करने के लिए तत्काल आवश्यकता होती है। लाइब्रेरी में उपयोगकर्ता द्वारा परिभाषित और पूर्व परिभाषित फ़ंक्शंस/विधियां भी हो सकती हैं। लाइब्रेरी (कक्षा) में परिभाषित कार्य विधि के रूप में जाना जाता है!

11
manual है कि इन सभी बहुत अच्छी तरह से बताते हैं इसके अलावा

...

पुस्तकालयों: उपयोगिता वर्गों जहां किसी चीज़ का राज्य महत्वपूर्ण है (भुगतान द्वार, प्रमाणीकरण, आदि)

सहायकों: संबंधित कार्य (नहीं वर्ग) के संग्रह जो दोहराव वाले कार्यों (तार, सरणी, आदि)

प्लगइन्स: तृतीय पक्ष कक्षाओं में जाने का एक आसान तरीका है। आमतौर पर, पूरी प्रक्रिया को एक रैपर फ़ंक्शन के साथ बुलाया जाता है। (कोडइग्निटर के आगामी संस्करण 2.0 में बहिष्कृत।)

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