2010-12-11 12 views
9

बस कोडइग्निटर का उपयोग शुरू करना, और मैं अपनी कुछ पुरानी कक्षाओं को एक नई परियोजना में उपयोग के लिए आयात करना चाहता हूं। हालांकि, मैं उन्हें काम करने के सीआई रास्ता में फिट बहुत ज्यादा संशोधित करने के लिए नहीं करना चाहते हैं, और मैं NetBeans 'स्वत: पूर्ण कार्यक्षमता है, जो सीआई के साथ बहुत अच्छी तरह से काम नहीं करता उपयोग करने के लिए जारी रखने के लिए सक्षम होने के लिए करना चाहते हैं।कोडइग्निटर में कस्टम कक्षाएं लोड हो रही हैं?

तो, लाइब्रेरी/मॉडल लोडिंग तंत्र का उपयोग किए बिना कस्टम क्लासेस & क्लास फ़ाइलों को कोडइग्निटर में लोड करने का सबसे अच्छा तरीका क्या है?

मैं माफी माँगता हूँ अगर यह कुछ मैं जल्दी पता लगाने के लिए सक्षम होना चाहिए है, लेकिन मैं क्या मैं के बाद कर रहा हूँ लगता है नहीं कर पा रहे। जो कुछ भी मैं देखता हूं वह सिर्फ मुझे बता रहा है कि सीआई के माध्यम से कैसे जाना है।

उत्तर

8

मैं कहना चाहता हूँ कि आप कम से कम एक आवरण वर्ग कि कक्षाओं require और वस्तुओं का दृष्टांत और उन्हें सुलभ बना सकता है लिखें। फिर आप शायद इस तरह की लाइब्रेरी को स्वत: लोड कर सकते हैं और आवश्यकतानुसार इसका इस्तेमाल कर सकते हैं।

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

+0

पर

$this->load->library('someclass'); 

चेकआउट पूर्ण लेख पूरी तरह सहमत हूँ ....: और फिर इस तरह अपने नियंत्रक में पुस्तकालय के रूप में उस वर्ग को जोड़कर इसका इस्तेमाल:

<?php if (! defined('BASEPATH')) exit('No direct script access allowed'); class Someclass { public function some_function() { } } /* End of file Someclass.php */ 

नियंत्रक में उपयोग करते हुए –

+0

चूंकि यह डीबी और मेमकैच एक्सेस को सारणित करने के लिए केवल 3 वर्ग है, इसलिए मैंने जिस दृष्टिकोण को उठाया वह मैंने उठाया। यह वास्तव में एक तकनीकी मुद्दा नहीं था, एक डिजाइन मुद्दा के अधिक। – Tarka

-4

यदि आप अभी कोडइग्निटर का उपयोग शुरू कर रहे हैं, तो आपको कोहाना (http://kohanaframework.org/) की जांच करनी चाहिए। यह कोडइग्निटर के कई तरीकों से बहुत समान है लेकिन यह कक्षाओं को सामान्य तरीके से लोड करता है (नए क्लासनाम() का उपयोग करके) ताकि नेटबीन्स की स्वत: पूर्णता सुविधाओं को सामान्य रूप से काम करना चाहिए।

+0

केवल 2.x में सीआई के समानताएं हैं, 3.x शाखा पूरी तरह से अलग है। वे केवल वास्तव में इस तथ्य को साझा करते हैं कि वे PHP और एमवीसी का उपयोग करते हैं ... –

12

पुस्तकालय लिखना आसान है लेकिन वे कुछ प्रतिबंध है। रचनाकार केवल पैरामीटर के रूप में एक सरणी ले सकते हैं और यह माना जाता है कि प्रति फ़ाइल केवल एक वर्ग मौजूद होगी।

आप अपनी खुद की कक्षाओं में से किसी को उनके साथ काम करने के लिए शामिल कर सकते हैं लेकिन आप चाहते हैं, के रूप में यह केवल पीएचपी ओएफसी :)

include APPPATH . 'classes/foo.php'; 
$foo = new Foo; 

है या अपने config.php में एक __autoload() फ़ंक्शन की स्थापना (सबसे अच्छा इसके लिए जगह दें) और आप उन्हें शामिल किए बिना अपने कक्षाओं तक पहुंच सकते हैं।

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