Kohana yılında Şablon Kontrol genişletme

4 Cevap php

Ben geriye dönük benim proje için yeni bir üs denetleyicisi oluşturmak için çalışırken biraz kafa karışıklığı yaşıyorum. Yanılmıyorsam eğer, yapmam gereken tüm application/libraries MY_baseController.php aşağıdaki içeren denilen bir dosya oluşturun:

class baseController extends Template_Controller
{
  public function __construct()
  {
    parent::__construct();
  }
}

Ve sonra uzatmak için benim diğer denetleyicileri yeniden baseController yerine Template_Controller:

class Frontpage_Controller extends Template_Controller

karşı

class Frontpage_Controller extends baseController

Ben bunu yaparken henüz, Frontpage_Controller Bana o uyarılar erişen:

Class 'baseController' not found...

Ben burada ne eksik?

4 Cevap

After some fiddling, I think the following is my solution...

Move MY_baseController.php application/libraries ve ikinci olarak application/controllers. base.php yeniden adlandırın ve aşağıdaki satırı değiştirin:

class baseController extends Template_Controller

içine

class Base_Controller extends Template_Controller

Şimdi Frontpage Kontrolörü içinde, genişletmek Base_Controller yerine baseController.

Düzgün her şeyin otomatik yükler yapmak Kohana Kongreler takip emin olun! Modeller Yapanlar ve Kütüphaneler ile ilgili benzer olanları vardır.

Eğer temiz, ana uygulama denetleyicisi klasörünü tutmak istiyorsanız Ayrıca ben sadece uygulama için bir Kohana modülü yapımında öneririm ve ana denetleyicileri onları ayrı tutmak için orada tüm şablon ve misc uzatma kontrolörleri koydu.

Sadece yapılandırma dosyasına modül eklemek için unutmayın!

Bu eski bir soru olduğunu biliyorum ama ben bir kelime koymak düşündüm. Sadece sistem klasöründe _Core ile sonlandırılmış bir sınıf uzanan zaman sadece gerçekten ihtiyacınız olan dosya adı My_ öneki kaldırmak gerekir. Örneğin, dosya

class Controller extends Controller_Core

MY_Controller.php adlandırılır.

Bu durumda, sadece dosya baseController.php adlandırma ve kütüphaneler klasöründe koyarak çalışacak.

Hiçbir suç, ama Kohana 3.1 ile çalışma almak için benim bilgisayarda benim kafamı vardı. Sonunda Şablon Denetleyicisi uzatmak için sözdizimi olması gerektiğini anladım:

class Controller_Base extends Controller_Template