| MCV Mimarisi |
|
Model | View | Controller 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.
Faydaları
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. |