Vegetus 0 Report post Posted January 10, 2011 Pessoal, Pesquisando inúmeros artigos, vejo que há dois tipos de MVC. A diferença entre os dois está, basicamente, na comunicação entre o model, view e controller. Por exemplo, considerando na imagem abaixo: Vejo que a View não APONTA algum método no Model, pois primeiramente o Controller deverá acionar um model e, em seguida, acionar uma View. Um exemplo disso seria: Controller: class Index { function public start() { $allStates = Retrieve::relationStates(); include "View.php"; } } Model: class Retrieve { function public static relationStates() { $pdo = new Database(); $states = $pdo->query("select * from states")->fetchAll(\PDO::FETCH_ASSOC); $allStates = ""; foreach($states as $state) { $all .= $allStates . "<br />"; } return $allStates; } } View: <div id="select-states"> <?php echo $allStates; ?> </div> Agora, considerando uma imagem abaixo: Vejo que o View aponta algum método no Model, para receber os dados. Um exemplo seria esse: View: <div id="select-states"> <?php Retrieve::relationStates(); ?> </div> Model: class Retrieve { function public static relationStates() { $pdo = new Database(); $states = $pdo->query("select * from states")->fetchAll(\PDO::FETCH_ASSOC); foreach($states as $state) { echo $state . "<br />"; } } } Conclusão: qual dos modelos acima VOCÊS ACHAM MAIS JUSTOS? Obrigado, Vinicius. Share this post Link to post Share on other sites
Matias Rezende 50 Report post Posted January 10, 2011 Olha, até onde vão os meus conhecimentos, Model não conversa com View. O Controller recupera a requisição e identifica qual model deve ser acionado e qual view deve ser executado (a primeira situação). Talvez exista alguma situação diferente, mas eu definitivamente não conheço e nem vejo muito sentido. Carlos Eduardo Share this post Link to post Share on other sites
socurticao.net 0 Report post Posted January 10, 2011 Olha, até onde vão os meus conhecimentos, Model não conversa com View. O Controller recupera a requisição e identifica qual model deve ser acionado e qual view deve ser executado (a primeira situação). Talvez exista alguma situação diferente, mas eu definitivamente não conheço e nem vejo muito sentido. Carlos Eduardo Eu tb acho a mesma coisa! todo tipo de solicitação tem que passar pelo controller por isso o nome dele é esse. Acho que é isso. Share this post Link to post Share on other sites
Vegetus 0 Report post Posted January 10, 2011 Obrigado pela resposta, pessoal. Eu acho que, além dessa questão, há outras e muitas questões que também são polêmicas. Há outro fórum com tópico aberto sobre MVC que explica bem os detalhes, porém cada um com seu ponto de vista diferente. O link é http://www.guj.com.br/java/129277-perguntas-sobre-mvc-desktop-existe-solucao--mvpmvc-webobserver-e-exceptions/18 Abrs. Share this post Link to post Share on other sites