Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/10/2007, 19:51
zaqpz
 
Fecha de Ingreso: agosto-2005
Ubicación: Argentina, Capital Federal
Mensajes: 435
Antigüedad: 19 años, 5 meses
Puntos: 2
Consulta con MVC y las vistas

Estuve leyendo algunos textos sobre la implementación de MVC para desarrollos web y he visto mucha ambigüedad con el tema de la vista. Hasta donde vi se utilizan dos tendencias para desarrollar esta capa:

La primera es la que el código HTML necesario (o la salida que sea) se encuentra adentro de un objeto View en distintos métodos. Por ejemplo el método header() tendrá dentro de él las etiquetas meta, el title, etc. Osea todo el HTML está escrito dentro del objeto View y la salida se contruye con los datos que este objeto obtiene del modelo. De esta forma lo hacen aquí http://www.phppatterns.com/docs/desi...tern_version_2. He visto que a esta forma le llaman "Transform View".

Por otro lado, hay quienes en su desarrollo tienen a un objeto View que realiza includes de distintos templates o plantillas en la cual hay código HTML y PHP embebido. Por ejemplo una plantilla sería:
Código PHP:
// sacada del blog de GatorV
<?php if( !empty( $Mensaje ) ) { ?>
  <h1>
  <?php echo $Mensaje?>
  </h1>
  <?php ?>
  <form action="nuevoAuto.php" method="post">
       <table class="nuevoAuto">
            <tr>
                 <td>Nombre:</td>
                 <td><input type="text" name="nombre" value="" /><?php if( !empty( $errors['nombre'] ) ) { echo $errors['nombre']; } ?></td>
            </tr>
            <tr>
                 <td>Color:</td>
/// etc...
y las variables son obtenidas del controlador. Un ejemplo de esto por supuesto es http://web2development.blogspot.com/...atron-mvc.html. A este método por ahí le dicen "Template View".

No voy a preguntarles cuál es mejor porque se que ambos son válidos y depende del gusto de cada uno. Lo que si quisiera leer es sus opiniones sobre cuál de estas metodologías les ha resultado más eficiente, más cómoda, más prolija, más mantenible. Osea ¿cuál utilizan ustedes (y si me dicen el porqué mejor todavía )?

Espero ver opiniones que me saquen de esta "duda existencial".
Muchas gracias de antemano.
Saludos.
__________________
R4DS en español | R4DS en inglés