Controller Kullanımı

Controllerlar Titan Mini Framework'te uygulama sayfalarını oluşturan sınıflardır. /app/controllers dizininde bulunurlar. URL adresindeki bölümlerde controller sınıfları, bu sınıflara ait methodlar(fonksiyonlar) ve bu fonksiyonlara gönderilen parametreler yer alır.

http://ornek.com/haberler/detay/15

Yukarıdaki URL, haberler sınıfı içerisindeki detay methoduna 15 parametresini gönderir.

Controller Oluşturmak

Aşağıda, Merhaba Dünya! çıktısı veren örnek bir controller yer almaktadır.

class Haberler extends Controller
{
    public function index()
    {
        echo 'Merhaba Dünya!';
    }  
}

Bu controllerı çalıştırmak için adres satırına aşağıdaki URL girilir;

http://ornek.com/haberler/index

Method(Fonksiyon) Bölümü

URL Adresinin ikinci bölümünde bulunan değer, controller içerisinde yer alan methodu(fonksiyonu) belirtir.

http://ornek.com/haberler/index

Aşağıdaki örnekte 2 adet method(fonksiyon) barındıran bir controller görülmektedir.

class Haberler extends Controller
{
    public function index()
    {
        echo 'Burası haber listeleme sayfasıdır';
    }

    public function kategoriler()
    {
        echo 'Burası haber kategorileri listeleme sayfasıdır';
    }
}

Yukarıdaki örnekte yer alan kategoriler methodunu çalıştırmak için aşağıdaki URL adresi kullanılır;

http://ornek.com/haberler/kategoriler

Parametre Bölümü

URL Adresinin üçüncü ve sonraki bölümlerinde bulunan değerler, controller içindeki ilgili methoda(fonksiyona) gönderilecek parametreleri belirtirler.

http://ornek.com/haberler/kategoriler/gundem/5

Yukarıdaki URL adresinde bulunan gundem ve 5 değerleri, kategoriler methoduna(fonksiyonuna) gönderilen parametrelerdir. Aşağıdaki örnekte controller içerisinde kullanımı görülmektedir;

class Haberler extends Controller
{
    public function kategoriler($kategori_ismi, $haber_sayisi)
    {
        echo $kategori_ismi . ' kategorisinde ' . $haber_sayisi . ' adet haber listelendi.';
    }
}

Birden Fazla Uygulama Çalıştırma

Framework üzerinde birden fazla uygulama çalıştırmak ya da yönetici paneli ile önyüzü birbirinden ayırmak için /app/controllers dizini içerisinde alt dizinler oluşturabilirsiniz. İlk kurulumda varsayılan olarak frontend ve backend olmak üzere 2 adet alt dizin bulunmaktadır.

Uygulama çalıştırıldığında açılış sayfasının yer alacağı alt dizin /app/config dizini içerisindeki config.php dosyasında tanımlanır;

Dosyada yer alan dizi değişkenin default_directory elemanına değer verilmezse, açılışta çalışacak controller /app/controllers dizininde bulunmalıdır.

'default_directory'	=> '';

Açılışta çalışacak olan controller /app/controllers dizininde bulunan bir alt dizinde yer alıyorsa, config dizi değişkenindeki default_directory elemanının değeri alt dizine verilen isim ile aynı olmalıdır.

'default_directory'	=> 'frontend';