php - कोडइग्निटर: नया सहायक बनाएं?



codeigniter codeigniter-helpers (5)

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

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

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

यदि आप अपने कॉन्फ़िगरेशन आइटम को किसी विशिष्ट इंडेक्स को असाइन करने के लिए $-- config-> लोड फ़ंक्शन के दूसरे पैरामीटर का उपयोग कर रहे हैं तो आप इसे $-- 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'];

https://src-bin.com

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

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


Answer #1

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

इस सामग्री के साथ / application / helpers में user_helper.php नामक एक फ़ाइल रखें :

<?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 कॉन्फ़िगरेशन में जोड़ें।


Answer #2

एक नया सहायक बनाने के लिए आप पिक्सेल डेवलपर के निर्देशों का पालन कर सकते हैं, लेकिन मेरी सलाह है कि किसी विशेष एप्लिकेशन के किसी विशेष भाग द्वारा आवश्यक तर्क के लिए सहायक न हो। इसके बजाय, सरणी को अपने अंतिम इच्छित मानों पर सेट करने के लिए नियंत्रक में उस तर्क का उपयोग करें। एक बार जब आप इसे प्राप्त कर लेते हैं, तो आप उन्हें टेम्पलेट पार्सर क्लास का उपयोग करके दृश्य में पास करते हैं और (उम्मीद है कि आप दृश्य को किसी भी चीज़ से साफ रख सकते हैं जो सरल चर या ईकोस और फोरैच के बजाय परिवर्तनीय टैग जोड़े का उपयोग करके 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; ?>

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


Answer #3

ठीक है मेरे लिए केवल PHP फ़ाइल में "_helper" टेक्स्ट जोड़ने में काम करता है जैसे:

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

$ autoload ['सहायक'] = सरणी ('comunes');

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


Answer #4

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

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!




codeigniter-helpers