CodeIgniter: Yeni yardımcısı yarat?

5 Cevap php

Ben farklı şekillerde diziler döngü sürü gerekir ve bir sayfa görüntüler. Bu diziler, bir modül sınıf tarafından oluşturulur. Ben onun daha iyi 'görüşlerini' üzerinde işlevleri dahil değil biliyorum ve ben nerede fonksiyonları dosya eklemek için bilmek istiyorum.

Ben yardımcıları 'genişletmek' biliyorum, ama ben bir yardımcı uzatmak istemiyorum. Ben tür benim döngü fonksiyonları ile bir yardımcıya oluşturmak istiyorum .. bunu loops_helper.php diyoruz Lets

5 Cevap

Bir CodeIgniter yardımcı birden fazla fonksiyonlara sahip bir PHP dosyası olduğunu. It is not a class

Bir dosya oluşturun ve içine aşağıdaki kodu koyun.

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

if ( ! function_exists('test_method'))
{
    function test_method($var = '')
    {
        return $var;
    }   
}

Bu kaydet application/helpers/. Biz "new_helper.php" diyoruz eder

İlk satır dosya dahil ve CodeIgniter kapsamı dışında koştu olamaz emin olmak için vardır. Bundan sonra her şey kendi kendini açıklayıcı.

Using the Helper


Bu olabilir sizin controller, model veya view (tercih edilmez)

$this->load->helper('new_helper');

echo test_method('Hello World');

Eğer yerlerde bir sürü bu yardımcıyı kullanın Eğer o Autoload yapılandırma dosyasına ekleyerek otomatik yük olabilir.

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

-Mathew

süre ha sonra geri geldim?

i just wanna yardımcısı içine CI örneği kullanmak için izin veren bazı kodları yazmak

  function yourHelperFunction(){
        $ci=& get_instance();
        $ci->load->database(); 

        $sql = "select * from table"; 
        $query = $ci->db->query($sql);
        $row = $query->result();
   }

Yeni bir yardımcıya oluşturmak için, instructions from The Pixel Developer takip edebilirsiniz, ama benim tavsiyem sadece belirli bir uygulamanın belli bir bölümü tarafından gerekli mantık için bir yardımcıya yaratmak değildir. Bunun yerine, onların nihai amaçlanan değerlere diziler ayarlamak için denetleyicisi bu mantığı kullanabilirsiniz. Eğer Template Parser Class kullanarak görünümüne onları geçmek ve (umarım) yerine yansımaları, ve foreachs basit değişken veya değişken etiket çiftleri kullanılarak PHP gibi görünüyor şey temiz görünümü tutmak, o var bir kere. yani:

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

yerine

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

Bu yaklaşımın bir başka yararı, size tüm işi yapmak için özel yardımcıları kullanmak olurdu sanki CI örneği ekleme hakkında endişelenmenize gerek kalmamasıdır.

Peki benim için yalnızca gibi php dosyasında sonra metin "_helper" ekleyerek çalışır:

Codeiginiter Helpers

Ve klasörü prospeksiyon otomatik bir yardımcı yüklemek için -> dosya autoload.php dizi yardımcısında eklemek gibi "_helper" olmadan isim:

$ Özdevinimli_yükle ['yardımcı'] = array ('Comunes');

Ve bununla ben verecek kişinin fonksiyonlarını tamamını kullanabilirsiniz

/ Uygulama / yardımcıları da yardımcısı adıyla bir dosya oluşturun ve autoload config dosyasına eklemek / elle yükleyin.

Örneğin Bu içeriğin / uygulama / yardımcıları user_helper.php adlı bir dosya yerleştirin:

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

Şimdi $this->load->helper(‘user’); aracılığıyla helper yüklemek veya application / config / autoload.php config ekleyebilirsiniz ya.