Codeigniter

Codeigniter Eğitimi Part3 MVC Yapısı

By 7 Aralık 2016 2 Comments

Merhaba arkadaşlar,

Bu yazımızda yavaş yavaş Frameworkler ve Codeigniter için olmazsa olmazı MVC yapısına göz atacağız. Şimdi nedir bu uyuz MVC yapısı? 

Kelimelerin baş haflerinden oluşan MVC. Model View Controller demek aslında. Peki ne olaki bu? Normal şartlarda eğer MVC kullanmıyor isek (dilden bağımsız olarak düşünün lütfen ben PHP için anlatacağım) bir ürünlerin sıralandığı PHP dosyasını düşünelim. Bu dosyada nelere ihtiyacımız var?

  • html kodlarına
  • (varsa) css kodlarına
  • (varsa) javascript kodlarına
  • sql kodlarına
  • php kodlarına

ee bunları bir php dosyasında yazdığımızda kodların uzuuuuun uzuun bize bir dosya oluşturabileceğini tahmin etmek çok da zor değil hani. Çalışır mı? Elbette çalışır fakat proje geliştirme aşamasındayken oldu ki bir sorun çıktı!! olsun zaten yeni kodladık bu sayfayı hemen göz atıp düzenleyebiliriz rahatlıkla sorunun nereden çıktığını bulabiliriz. 1 hafta sonra evvvet yine bulabiliriz. 1 ay sonra birazcık zaman alır 5dk 10dk neyse siz koyun adını. Peki ya 7 ay sonra 1 yıl sonra?? Bu süreler uzayacak uzayacak.. bu spagetti kod bizim debug yani hata ayıklama süremizi oldukça etkileyecek.

İşte bu dünyalar güzeli MVC yapısı sayesinde biz bu sürelerden kurtulmuş olacağız. Nasıl mı?

MVC kendi içerisinde backend dili, frontend dillerini ve database kodlamalarını birbirinden ayırmayı sağlar. Yani;

HTML, CSS, JS kodları bir dosyada, SQL kodları bir dosyada ve backend olarak ne kullanıyorsak (PHP, Java, Pyton, C#…) o dili birbirinden bağımsız dosyalarda yazmamızı ve bunları ortak şekilde kullanmamızı sağlar.

Peki MVC Nasıl Çalışır?

MVC yapılarının gözü korkutmasının aksine basit bir çalışma prensibi var aslında. Sizi bir View Karşılar(HTML, CSS, JS) siz orada bir aksiyon aldığınızda (giriş yap, ödeme yap vs…) bu controller tarafından ele alınır ve eğer database işlemi varsa bu Controller arkadaş Database ile iletişime geçer dönen cevaba göre Controller ilgili View dosyasını tamamen istediğimiz gibi ekrana basar yada basmaz. Aşağıdaki diyagram üzerinden gidecek olursak;

 

mvc_diyagram

 

Bizim bir kullanıcı girişi yapabilmemiz için login.html diye(elbette php uzantılı olacak fakat şuan konsept için html diyelim ona) ve bu bir viewdir. login butonuna bastığımız anda bizim kullanıcı adı ve şifremiz Controller tarafından alınır ve Database üzerinde bu kullanıcı var mı yok mu diye bakılır. Elbette bu işi yapmak için model üzerinden database‘e gidilir. Database bize bu sorgunun sonucunu model arkadaşımıza gönderir. Model de aynı şekilde bu sonucu Controller‘a aktarır. Controller eğer bu kullanıcı bizim sistemimizde varsa profile sayfasına aktarır eğer yoksa yine bizi login sayfasına yönlendirir.

İşte bu sürecin tamamını farklı sayfalarda yapmamıza ve bu süreci rahatlıkla kontrol edebilmemiz için bize olanak sağlayan yapının adı MVC dir.

Şuan aklıma gelenler bunlar, içime sinmeyen yada eksik gördüğüm bir bölüm olursa burayı güncellerim zaten. Bir sonraki yazıda görüşmek dileğiyle.

Ne yaparsanız yapın ama kodlamayı asla unutmayın.

Saygılar Dilerim

kablosuzkedi

admin

admin

Müzik ve Yazılım ruhuna işlemiş eğlenceli biriyimdir :) Yaklaşık 14 yıldan beri yazılımın içinde bulunmaktayım. Bu yazılım denen dünyanın en eğlenceli mesleğinden teknolojileriyle ilgili bildiklerimi ülkemin güzel insanlarına bir nebze olsun aktarabilmek için çabalayan biriyim :) Nargile sever, kedilere ve adrenaline bayılırım.

2 Comments

  • Anonim dedi ki:

    5

  • Murat koçak dedi ki:

    Merhaba gökhan bey. Öncelikle yaptığınız paylaşımlarla bizleri bilgilendirmek birşeyler öğrenmemize yardımcı olduğunuz için teşekkür etmek istiyorum. Codeigniter ile menü alt menü yapımı yakkında sizden bilgi rica ediyorum. bununla ilgili yardımcı olurmusunuz.

Leave a Reply