दिलचस्प पोस्ट
PHP पैरामीटर में सख्त मानकों का उल्लंघन क्यों है? एक क्वेरी में एएनएसआई 1992 के जॉन्स और कमांड्स को मिलाते हुए एक कस्टम तुलनित्र का उपयोग करते हुए इनट की एक सरणी कैसे सॉर्ट करनी है? क्या हम जावा में अंतरफलक का एक उदाहरण बना सकते हैं? रेल में स्ट्रिंग और पाठ के बीच का अंतर? कर्ल, एक यूआरएल को एक चर में रीडायरेक्ट करें ES6 WeakMap के वास्तविक उपयोग क्या हैं? जावा: 0 <= x <n श्रेणी में यादृच्छिक लंबी संख्या पायथन कोड क्यों संकलित? टुकड़े पर रीसेट से वापस ढेर डिफ़ॉल्ट रूप HTTP विधि क्या है? पी के अनुरोध पेलोड को कम करने के लिए कैसे करें: अजाक्स के दौरान उदाहरण के लिए: डेटाटैबल पृष्ठांकन जावास्क्रिप्ट सशर्त स्विच विवरण कैस्परजेएस में तब () बयान में क्या लिपटे जाना चाहिए? सिंक / async फ़ंक्शंस के निष्पादन आदेश का निर्धारण कैसे करें? एंड्रॉइड स्टूडियो में एवीडी एमुलेटर का आकार कैसे बदला जाए?

CodeIgniter: नया सहायक बनाएँ?

मुझे अलग-अलग तरीकों से सरणियों के बहुत सारे लूप की जरूरत है और इसे एक पृष्ठ में प्रदर्शित करना होगा। सरणी एक मॉड्यूल वर्ग द्वारा उत्पन्न होते हैं। मुझे पता है कि 'विचारों' पर कार्य को शामिल करने के लिए बेहतर नहीं है और मैं यह जानना चाहता हूं कि फ़ंक्शंस फ़ाइल कहाँ डालें

मुझे पता है कि मैं मददगारों को 'विस्तार' कर सकता हूं, लेकिन मैं एक सहायक का विस्तार नहीं करना चाहता। मैं अपने पाश कार्यों के साथ एक सहायक बनाना चाहता हूँ .. इसे loops_helper.php कॉल करें

वेब के समाधान से एकत्रित समाधान "CodeIgniter: नया सहायक बनाएँ?"

एक CodeIgniter सहायक कई कार्यों के साथ एक PHP फ़ाइल है यह एक वर्ग नहीं है

एक फाइल बनाएँ और इसमें निम्नलिखित कोड डालें।

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); if ( ! function_exists('test_method')) { function test_method($var = '') { return $var; } } 

इसे एप्लिकेशन / सहायकों / में सहेजें हम इसे "new_helper.php" कहते हैं

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

सहायक का उपयोग करना


यह आपके नियंत्रक , मॉडल या दृश्य में हो सकता है (बेहतर नहीं)

 $this->load->helper('new_helper'); echo test_method('Hello World'); 

यदि आप इस सहायक को बहुत सारे स्थानों में उपयोग करते हैं तो आप इसे ऑटोोलॉज कॉन्फ़िगरेशन फ़ाइल यानी <your-web-app>\application\config\autoload.php जोड़कर अपने आप लोड कर सकते हैं।

 $autoload['helper'] = array('new_helper'); 

-Mathew

थोड़ी देर के बाद यहां वापस चले गए?

मैं सिर्फ कुछ कोड लिखना चाहता हूं जो सहायताकर्ता के अंदर सीआई उदाहरण का उपयोग करने की अनुमति देता है

  function yourHelperFunction(){ $ci=& get_instance(); $ci->load->database(); $sql = "select * from table"; $query = $ci->db->query($sql); $row = $query->result(); } 

मेरे लिए अच्छी तरह से केवल PHP "_helper" php "_helper" फ़ाइल के बाद पाठ "_helper" जोड़कर कार्य करता है:

कोडिग्निटर हेल्पर्स

और स्वचालित रूप से फ़ोल्डर एप्लिकेशन में सहायक को लोड करने के लिए -> autoload.php फ़ाइल को सरणी सहायक में "_helper" के नाम से जोड़ना जैसे:

$ आटोललोड ['सहायक'] = सरणी ('कॉम्यून्स');

और इसके साथ मैं सभी सहायक कार्यों का उपयोग कर सकता हूं

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

 {blog_entries} <h5>{title}</h5> <p>{body}</p> {/blog_entries} 

के बजाय

 <?php foreach ($blog_entries as $blog_entry): ?> <h5><?php echo $blog_entry['title']; ?></h5> <p><?php echo $blog_entry['body']; ?></p> <?php endforeach; ?> 

इस दृष्टिकोण से एक अन्य लाभ यह है कि आपको सीआई इंस्टेंस को जोड़ने के बारे में चिंता करने की ज़रूरत नहीं है क्योंकि अगर आप कस्टम हेल्पर्स का उपयोग सभी काम करने के लिए करते हैं तो।

अपने सहायक के नाम के साथ एक फाइल / एप्लिकेशन / हेल्पर्स के साथ फाइल बनाएं और इसे autoload config फाइल में जोड़ें / मैन्युअल रूप से लोड करें।

जैसे कि यूजियन_हेल्पर.एफ़पी इन / एप्लिकेशन / हेल्पर्स नामक फाइल को इस सामग्री के साथ रखें:

 <?php function pre($var) { echo '<pre>'; if(is_array($var)) { print_r($var); } else { var_dump($var); } echo '</pre>'; } ?> 

अब आप या तो $this->load->helper('user'); माध्यम से सहायक को लोड कर सकते हैं $this->load->helper('user'); या इसे आवेदन / config / autoload.php कॉन्फ़िग में जोड़ें

बस एप्लिकेशन सहायक निर्देशिका में सहायक को परिभाषित करें, तो अपने नियंत्रक से कॉल करें, जैसे फ़ंक्शन नाम दें

 helper name = new_helper.php function test_method($data){ return $data } 

नियंत्रक में सहायक लोड करें

 $this->load->new_helper(); $result = test_method('Hello world!'); if($result){ echo $result } 

उत्पादन होगा

 Hello World! 

अपनी कॉन्फ़िग फाइल से कोई आइटम पुनर्प्राप्त करने के लिए, निम्न फ़ंक्शन का उपयोग करें:

$this->config->item('item name'); जहां आइटम नाम $ config सरणी अनुक्रमणिका है जिसे आप पुनः प्राप्त करना चाहते हैं उदाहरण के लिए, अपनी भाषा पसंद लाने के लिए आप ऐसा करेंगे:

$lang = $this->config->item('language'); फ़ंक्शन FALSE (बूलियन) देता है यदि वह वस्तु जिसे आप लाने की कोशिश कर रहे हैं, मौजूद नहीं है।

अगर आप $ config-> लोड फ़ंक्शन के दूसरे पैरामीटर का उपयोग कर रहे हैं तो अपने कॉन्फ़िग आइटम्स को एक विशिष्ट इंडेक्स में निर्दिष्ट करने के लिए आप $ the-> config- के दूसरे पैरामीटर में इंडेक्स नाम को निर्दिष्ट करके इसे प्राप्त कर सकते हैं। > आइटम () फ़ंक्शन। उदाहरण:

// blog_settings.php नामक एक कॉन्फ़िगरेशन फ़ाइल को लोड करता है और इसे "blog_settings" नामक एक अनुक्रमणिका में निर्दिष्ट करता है

 $this->config->load('blog_settings', TRUE); 

// blog_settings सरणी के भीतर स्थित साइट_नाम नामक एक कॉन्फ़िगर वस्तु को पुनर्प्राप्त करें

 $site_name = $this->config->item('site_name', 'blog_settings'); 

// एक ही आइटम निर्दिष्ट करने के लिए एक वैकल्पिक तरीका:

 $blog_config = $this->config->item('blog_settings'); 

$ site_name = $ blog_config ['site_name'];