CodeIgniter - CodeIgniter ile mevcut sınıfları, bunları doğrudan dahil olmak üzere herhangi bir sorun kullanıyorsunuz?

3 Cevap php

Benim sonraki web uygulaması için çerçeve olarak CodeIgniter'ı kullanarak düşünüyor yaşıyorum. Ancak, zaten tanımlanmış yardımcı sınıflar ve veri yapıları çok sayıda var. Ben uygulamanın kütüphanesine eklemek olabilir ama ben bir büyük dosyaların sayısı ve maç derslerine 'adını yeniden adlandırmak zorunda criterion

Ben sadece doğrudan yükleme-> kütüphane atlayarak normal bir web uygulaması üzerinde çalışma gibi dosyaları () içerebilir? Ya da kütüphane sık yeniden sınıflar için ayrılmıştır?

3 Cevap

İsterseniz doğrudan ekleyebilirsiniz. Yükleme işlevselliği şeyler daha kolay hale getirir, ama hiçbir şey bir standart yaparken sizi durduruluyor php dahil. Üçüncü taraf sınıfları ile bunu birkaç kez yaptım.

Hala iyi bir PHP framework arıyorsanız eğer Kohana (CodeIgniter bir çatal) incelemeye değer. Benim görüşüme göre, bu CodeIgniter daha iyidir.

Daha da iyisi, config.php altındaki bir __autoload() koymak (garip bir yer, ama en iyisi bana güven) uygulama / fonksiyonları kontrol o / ve uygulama / sınıfları kontrol var.

/*
| -------------------------------------------------------------------
|  Native Auto-load
| -------------------------------------------------------------------
| 
| Nothing to do with config/autoload.php, this allows PHP autoload to work
| for controller types and some third-party libraries.
|
*/
function __autoload($class)
{
    if(strpos($class, 'CI_') !== 0)
    {

        $lib = APPPATH . 'libraries/'. $class . EXT;
        $class = APPPATH . 'classes/'. $class . EXT;            

        if(file_exists($class))
        {
            include_once( $class );
        }
        else if(file_exists($lib))
        {
            include_once( $lib );
        }
    }
}

Bu şekilde bir şeyler yüklenir nasıl endişelenmenize gerek yok. Beklendiği gibi çekirdek kütüphaneleri kullanın ve tüm bunları kapsayan olmadan sınıflarını kullanın. Hatta adlandırma kuralları veya yükleyici hakkında çok fazla endişelenmenize gerek kalmadan kütüphaneler olmak için sınıfları üzerinde taşımaya başlayabilir ve kütüphaneleri bu yöntemi kullanarak ne olursa olsun, statik, tekiz, olabilir.

Sen CodeIgniter'ın sınıf yükleyiciler kullanmanız gerekmez sen de require Onlara herhangi bir web uygulaması, olur veya CI-loadable korumalar onları tamamlamayı olarak. Benim kendi projelerinde, benim taban kontrolörün I require, birkaç küçük tek başına kütüphaneler var, ve ben standart bir CI kitaplık olarak kullanılmak üzere (Markdown gibi) bir kaç halk kütüphaneleri sarın.