MVC: modelleri görünümü ile etkileşime?

4 Cevap php

i her denetleyici geçmekte olduğunu biliyoruz.

ama çoğu zaman böyle bir şey söylüyor makaleleri okuyun:

  1. kullanıcı görüntüsü ile etkileşime
  2. kontrolör durumunu değiştirmek için modelini sorar
  3. modeli doyurmak değişti görünümü bildirir

i 3 tane alamadım. aslında denetleyicisi bildiren ve denetleyici görünümü bildiren zaman neden modeli görünümü bildirir söyleyerek?

4 Cevap

Bu daha bir web sitesi gibi bir masaüstü sistemi değil, devletsiz bir sistem gibi görünüyor.

Ama belki bazı insanlar görünümü örneğin gelen modelleri sorgulamak istiyorum nasıl bahsediyor

<?php foreach( $usersTableGateway->getUsers() as $user ): ?>
<?php echo $user ?><br>
<?php endforeach; ?>

Ben (denetleyicisi kullanıcılar dizisi hazırlamak) denetleyicisi tüm bilgi alma ve denetleyicisi görünümüne geçirmeden bir fan daha var.

MVC geniş bir kavramdır ve olası uygulamaları çok çeşitli vardır. Örneğin, Sayfa Kontrolör görünümünden mantığı ayırır ve böylece Ön Fontroller yapar. Her MVC framework da görünümünde model verileri işleme için farklı yöntemler vardır - Zend örneğin İki Adım kullanır.

Muhtemelen bir görünüm nesnesi ve (kendisi gerçekten karmaşık bir canavar) "Model" arasında bir gözlemci ilişkisi kurmak olabilir ama ben MVC deseni bu yönü desen orijinal içeriği ile yapmak için daha fazla olduğunu düşünüyorum - yani Galen adlı Yukarıda işaret

Ben gerçekten bazen MVC bu şekilde tarif görmüş ya da bu şekilde çizdik. Ben bu doğru olduğunu söyleyemem, ama açıkça veya zımnen birlikte denetleyicisi ve modelini götürü birçok uygulamalardan kaynaklanmaktadır düşünüyorum.

Denetleyicisi ve modeli arasındaki çerçevenin kavramsal ayrılık onlar olmalı gibi net değilse, o zaman ilgili kısmı gerçekten model olur bir denetleyici biraz "modeli olan devlet değişti görünümü bildirir".

Sonunda, MVC çoğunlukla endişeleri net bir şekilde ayrılması bağlı bir kılavuzdur. Kullandığınız çerçeve şeyleri bu şekilde açıklar ... iyi, gerçekten MVC değil. Bu işe yarayabilir, ama aynı zamanda beklenmedik hatta fark edilmeyen bir şekilde başarısız olabilir.

Bu (Bkz here) sizin Görünümü Model doğrudan dinlemek zorunda MVC ilkelerini ihlal etmez. ASAIK MVC bir kaya gibi sağlam bir kural veri ve iş mantığını korur ve sistemin diğer parçaları habersiz olan bir yağ, kör Model, olması gerçekten. Nasıl Görüntüleme ve Kontrolörler belirginlik ve modeli ile ilişkisi, daha az titizlikle tanımlanmaktadır.