ufakta olsa biraz anlatayım . veritabanınız da ki her tablo yu 1 model olarak düşünün..
yazilar
yazarlar
kategoriler
diller.
controller denen denetçiler ise hangi modelin nerede nasıl olarak gösterileceğini söyle örnek vermek olursa
aşağıda verdiğim örner CODEIGNITER ın Ocular şablon motoru ile yapılmış bir controllerdır.
bu arada bu controllerlar bir haber sitesi içindir. veritabanında 9000 tane 9 sütünlü haber sitenin yüklenme süresi amd phenom x3 2.10 ghz (3 işlemcili herbiri 2.1) 4GB ram ile 0.05 sn dir. framework yavaş çalışanlara cevaptır bu.
class Main extends Controller
{
//sınıf oluşturuldu
function Main()
{
parent::Controller();
//buramaya main controller yanı anasayfa denetçimizin çalıştırılda neler yükleneceği vs vs
}
function index()
{
//eger bizden istenen metod anasayfanın görüntülenmesi ise
$this->output->enable_profiler(true);
$this->load->model('main_model', 'Main');
// ana sayfamızda ana sayfa banner manşet sidebar ve yazar modellerini yüklüyoruz. mesela anasayfamızda yazarlarımızın veya manşetteki haberlerimizi göstermek istiyoruz o modelleri ana sayfamızda yüklüyoruz.
$this->load->model('banner_model', 'Banner');
$this->load->model('manset_model', 'Manset');
$this->load->model('sidebar_model', 'Sidebar');
$this->load->model('yazar_model', 'Yazar');
$this->Yazar->get_butun_yazarlar_son_yazi();
// yazarların son yazılarını alıyoruz
// 3 lu haber sutunlari
//haberlerimiz 3 sutunda sol orta sağ . şuan yazdığım haber sisteminde böyle bir dizayn var bu nedenle
$sol_sutun = $this->Main->get_sutun_news('sol_sutun');
$orta_sutun = $this->Main->get_sutun_news('orta_sutun');
$sag_sutun = $this->Main->get_sutun_news('sag_sutun');
//Main modelimizin içinde veritabanımızdan sol orta ve sağ sutunlardaki haberleri almış oluyoruz ve bunları şablonumuza atıyoruz.
$this->template->set('sol_sutun', $sol_sutun);
$this->template->set('orta_sutun', $orta_sutun);
$this->template->set('sag_sutun', $sag_sutun);
//bitti
//4 kategori sutunlari
//burada ise get_five_news ile 0,8 kategori id si 0 olan ve limit 8 olan verileri alıyoruz ve bunları şablonumuza aktarız.
$gundem = $this->Main->get_five_news(0, 8);
$yerel = $this->Main->get_five_news(2, 8);
$ekonomi = $this->Main->get_five_news(3, 8);
$spor = $this->Main->get_five_news(4, 8);
// asagidaki 4 satır kod ise template imizde şablonumuzda yani $gundem_five_news degiskenine obje olarak gundem kategorisindeki son 8 haberi cekmektedir.
//foreach ($gundem_five_news as $gundem_haber):
// echo $gundem_haber->title; // bize haber basligini vermektedir. obje bazli array bazli degil
endforeach;
$this->template->set('gundem_five_news', $gundem);
$this->template->set('yerel_five_news', $yerel);
$this->template->set('ekonomi_five_news', $ekonomi);
$this->template->set('spor_five_news', $spor);
//bitti
//sidebar
$en_cok_okunan = $this->Sidebar->get_encok_okunan_news(120, 10);
$gundemde_one_cikanlar = $this->Sidebar->get_gundemde_one_cikanlar_news(5, 8);
$this->template->set('en_cok_okunan', $en_cok_okunan);
$this->template->set('gundemde_one_cikanlar', $gundemde_one_cikanlar);
//bitti
// haber kisimlari bitti sira bannerlari cekmeye geldi
$banner_uclu = $this->Banner->get_uclu_banner('3lu');
$this->template->set('banner_uclu', $banner_uclu);
// bannerlar bitti
//manset baslangici
$mansets = $this->Manset->get_manset();
$this->template->set('mansets', $mansets);
//manset bitis
$this->template->render();
}
}
bu kodlar biraz mvc nin nasil oldugu konusunda fikir sahibi ettiyse ne mutlu bana eger sorulariniz olursa lutfen bu baslik veya pm ile bana bildiriniz yardimci olmaktan memnuniyet duyarim