İnternet, bilgi, bilişim güvenliğine dair her türlü karalamalara sahiplik yapan kişisel bir blog.

MVC nedir ?

asp-net-mvcMerhabalar. Hatırı sayılır bir süredir PHP üzerinde çalışmalar yapmaktayım. Gerek freelance çalıştığım dönemlerde, gerekse çalışmış olduğum firmalarda öncelikli tercih ettiğim dil PHP olmuştur. Nedense PHP’ye farklı bir bakışım vardı. Yaptığım projeleri genelde birazdan yazacak olduğum yapı ile yazmadığım için üzerinde değişiklikler yapmam yada takım çalışması halinde proje üzerinde geliştirmeler yapmam oldukça zor oluyordu. Bu yapıya uymayan bir projede yapacağınız en ufak bir değişiklik, yazdığın kodların çalışmaması, eylemini yitirmesine sebep olabiliyordu. Bu yüzden geç olduğunu düşünmeden kesinlikle bu yapıya başlamanızı öneririm. MVC yapısını öğrenmeden önce kesinlikle ve kesinlikle PHP üzerinde nesne tabanlı programlama konularını ilişkin makalelerini okuyun bol bol ufak örnekler yapın. Zira MVC yapısı class ve fonksiyonlarla çalışacağından kullanılacak olan terimleri az çok önceden görmeniz sizin yararınıza olacaktır.

MVC (Model – View – Controller)

MVC yapısında 3 katman bulunmaktadır. Bunlar adındaki harflerin açılımı olan Model, View ve Controller katmanlarıdır. Türkçesine mealen Model, Görünüm ve Denetçi katmanlarıdır. Sırasıyla bu katmanların neler yaptığını, ne işe yaradıklarını açıklayalım.

asp-net-mvc

Model katmanında verilerimiz işlenir. Bu katmandaki veriler genellikle direkt veritabanı ile ilişkilendirilir. Model katmanı denetçiden yani Controller katmanında gelen verilere göre işlem yapmaktadır.

Controller yani denetçi katmanı önemli bir mevkiye sahiptir. Örnekleyerek açıklamak daha kolay olacak sanırım. MVC yapılı bir websitesine girdiniz. Bir üyelik formu doldurdunuz. Kayıt ol butonuna bastığınız anda yazdığın veriler önce denetçiye gider. Burada kontrol edilir, ardından bu veriler işlenmesi için model katmanına ulaştırılır. Burada veritabanına kaydetme vs işlemleri yapılır. Son olarak çıktı tekrar kontrol katmanına gönderilir. Kontrol katmanı sonucu kullanıcıya yansıtmak amacıyla view’e verileri yollar. View katmanı da size üyeliğiniz tamamlandı veya tamamlanamadı şeklinde uyarılır verir.

View katmanı yani görünüm katmanı ise ekrana bastırılan yani istemciye gösterilen kısımları barındırır. Bazen denetçi, bazende direkt model view’e gösterilmesi istenilen verileri gönderir. View katmanı aracılığıyla kullanıcılar çıktıları görürler.

MVC mimarisini kullanmanız projelerinizde büyük kolaylıklar sağlayacaktır. Yeni işim de 1 haftada tamamladığım projeyi MVC yapısıyla 2 yada maksimum 3 güne bitirebilmekteyim. Hemde kodlar arasında kaybolmadan.

Size önerebileceğim PHP MVC yapılarından CodeIgniter en önemlisi yada başlangıc için en basiti diyebilirim.

Mustafa

2004 yılından bu yana Web ve Bilgi Güvenliği üzerine araştırmalarda bulundum. Çok sayıda yerli yada yabancı websitelerinde bulunan zaafiyetleri ilgililere göndererek kapatılmasını sağladım. Octosec ailesindenim. Siber Güvenlik Eylem Planı kapsamında TSE Kayıtlı Sızma Uzmanı sertifikam bulunmaktadır.

1 Comment

Leave a Reply