Foros del Web » Programando para Internet » PHP » CodeIgniter »

En la vista o el controller (MVC) ?

Estas en el tema de En la vista o el controller (MVC) ? en el foro de CodeIgniter en Foros del Web. Bueno... se que debo parecer canson... ya... por estos lares... En Fin... Tengo una seccion en cada pagina en la que puede aparecer distintos tipos ...
  #1 (permalink)  
Antiguo 02/07/2011, 18:24
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
En la vista o el controller (MVC) ?

Bueno... se que debo parecer canson... ya... por estos lares... En Fin...

Tengo una seccion en cada pagina en la que puede aparecer distintos tipos de contenido (un post, un formulario, etc)

Por esa razon, pensé que lo mejor es hacer simplemente un <?= $content ?> en la vista y enviar lo que sea a esa variable y me sirve pero... eso implica hacer un pre-procesamiento de elementos visuales (html tags) en el controlador o bien en alguna libreria:

Controller blog:

Código PHP:
$data['content']=  $this->strings->format_post ($post_ay); 
Donde la funcion format_post() de mi library String arma un string con el titulo, cuerpo del post y una imagen y de esa forma es algo discreto (no un arreglo) para ser pasado como 'content' a la vista.

La otra opcion...... hubiera sido armar el HTML en la vista.......pero si quiero mostrar algo diferente en esa seccion...... eso implicaria ponerle una logica adicional (y dependiente de los controladores) a la Vista.

Se entiende el Dilema ?

Código PHP:
 /*     Library Strings   */
class Strings{   
 ( ....)

 public function 
format_post($post_ay){ 
    
    
$CI =& get_instance();     
  
    if (
strlen($post_ay[0]->post_image)>0){
      
$img img('application/rentabilizaweb/views/images/post_icons/'.$post_ay[0]->post_image).br(2);
    }else{
      
$img='';
    }      
  
    return 
heading($post_ay[0]->post_title,2).$img.$CI->typography->auto_typography($post_ay[0]->post_content);
  }

// end class 
__________________
Salu2!
  #2 (permalink)  
Antiguo 02/07/2011, 19:39
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: En la vista o el controller (MVC) ?

Bueno, dos consejos:

1- No uses short_tags <?= $variable ?>, aparte de ilegible es posible que en futuras versiones de PHP ya no este soportado, de hecho, no se permite su uso en la mayoria de servidores actuales; usa la estructura estandar: <?php echo $variable; ?>
2- Si es mucho el codigo HTML entonces tal vez lo conveniente seria que $content sea el nombre de una vista a incluir y con eso evitas mezclar HTML en tus controladores.

<?php if($content !== false) { include $content; } ?>
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 02/07/2011, 21:08
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Respuesta: En la vista o el controller (MVC) ?

Me gustó......la idea

Gracias!
__________________
Salu2!
  #4 (permalink)  
Antiguo 04/07/2011, 11:51
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 9 meses
Puntos: 165
Respuesta: En la vista o el controller (MVC) ?

Claro, estoy con Triby, de hecho, puedes decidir a que vista llamar dentro de tu controller, y aemás, definir que tipo de "data" le vas a pasar a esa vista,

Un saludo!

Etiquetas: controller, frameworks-y-php-orientado-a-objetos, mvc, vistas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:21.