MCV Mimarisi - Metodoloji - VeriPortal DataCenter Ankara - Kiralık Sunucu - Sunucu Barındırma hizmetleri
Model | Sunum | Yönlendirici
PHP Programlama dili kütüphaneleri ve kolay kullanımı sayesinde birçok web geliştiricinin beğenisini kazanmış popüler bir betik dilidir. İlk çıktığı günlerden bu yana gelişmesini sürekli sürdüren PHP, nesnesel programlamayı (OOP) bünyesine eklemesi ile daha kolay yeniden kullanılabilir kod kütüphanelerinin (sınıflarının) oluşmasını sağlamıştır.
MCV ise bu sınıfların kullanımında iş mantığını veriden ve sunum katmanlarından ayıran bir yapı sağlar.
MCV'nin Türkçe tanımlamasında, "Controller" kelimesine karşılık gelen "Kontrol edici" yerine "Yönlendirici" kelimesini kullanmayı tercih ettik, bu şekilde MCV mantığının daha kolay bir şekilde kavranabileceğini düşünmekteyiz.
Yönlendirici:Uygulamanızın mantığını oluşturan betiklerin toplamıdır. Yönlendiriciler birden çok olabilir ve verinin geliş yönüne göre değişiklik gösterirler. Yönlendiriciler sunumlarda gösterilecek olan verileri modeller vasıtasıyla veritabanından çekip sunuma gönderen ve bu sırada login kontrolü gibi temel fonksiyonları gerçekleştiren bölümlerdir.
Model: Modeller veritabanı ile bağlantıyı kuran betik parçalarıdır. Veritabanı bağlantıları, sorgular ya da kayıtlar gibi işlemlerin çok basit fonksiyonlarla ifade edilmesi tamamen MCV'nin model kısmında gerçekleşmektedir.
Sunum: Sunumlar, ulaşılmak istenen bilgiyi, son kullanıya şablonlar vasıtasıyla gösteren betiklerin tümüdür. Sunumlar yönlendirici aracılığla modelden gelen bilgileri, kodun sonradan tekrar düzenlenmesini ço kkolaylaştıracak bir şekilde ifade eder. Sunumlarda zor işlemler genelde olmaz, gelen bilgiler şablonda belirtilen bölgelere gönderilir ya da modelden gelen bir dizi "foreach" döngüsü içerisinde yayınlanır.
Uygulamanın amacı koddan tamanen ayrılır,
veritabanına erişen modeller bir kez yazılır ve farklı yönlendiricilerde defalarca kullanılabilir. SQL kodu sadece model dosyasında kullanılır.
Sunumun içerikten ve modelden ayrılması sonucunda, her tasarımcı kendi uzmanlık alanında çalışır, örneğin bir grafiker Sunum kısmında çalışırken, veritabanı programcısı modelde ve sistem mühendisi ise yönlendirici üzerine çalışabilir. Bu şekilde kodların diğer tasarımcılar tarafından bozulması engellenmiş olur. Ayrıca tam bir bütün halinde tasarımcıya verilmeyen kod, gizlilik içerisindedir.
Hata ayıklama çok kolaylaşmaktadır.
CakePHP bu metodolojinin sunucu üzerinde değişiklik yapılmadan en kolay şekilde kullanılabildiği bir ortamdır. Aynı şekilde ruby on rails ve türevleri, joomla gibi içerik yönetim sistemleri de bu mimariyi kullanmaktadır.