Foros del Web » Programando para Internet » PHP »

Helpers de Formulario

Estas en el tema de Helpers de Formulario en el foro de PHP en Foros del Web. hola a todos, mi pregunta es la siguiente, cual la forma correcta de crear un helper de formulario al estilo de como lo hacen zend ...
  #1 (permalink)  
Antiguo 03/08/2010, 07:10
 
Fecha de Ingreso: abril-2008
Mensajes: 435
Antigüedad: 16 años
Puntos: 10
Helpers de Formulario

hola a todos, mi pregunta es la siguiente, cual la forma correcta de crear un helper de formulario al estilo de como lo hacen zend o symfony.

saludos
  #2 (permalink)  
Antiguo 03/08/2010, 09:12
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Helpers de Formulario

los helpers son simples funciones, cuyo objetivo es devolver código HTML lo más limpio posible, se usan no solo para aligerar el código en las vistas, sino para simplificación, porque generalmente los diseñadores que las modifican no tienen conocimientos específicos de php o javascript

según el framework, éste define sus propias convenciones para definir los helpers, en symfony por ejemplo: http://librosweb.es/symfony_1_2/capi...lantillas.html, allí tienes todo lo necesario para usar y crear helpers en symfony
  #3 (permalink)  
Antiguo 03/08/2010, 09:18
 
Fecha de Ingreso: abril-2008
Mensajes: 435
Antigüedad: 16 años
Puntos: 10
Respuesta: Helpers de Formulario

gracias por tu respuesta

entonces en un helper hacer esto

Código PHP:
return "<form id='".$this->id."' method='".$this->method."' action='".$this->action."'>"
no estaria mal visto no?

saludos
  #4 (permalink)  
Antiguo 03/08/2010, 09:54
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Helpers de Formulario

no, porque un helper No tiene acceso al modelo de datos ni a la acción, sólo si se los pasas como parámetros:

Código PHP:
Ver original
  1. function start_form($name, $method, $action){
  2.     return "<form name='".$name."' method='".$method."' action='".$action."'>";
  3. }

//y lo usas así
Código PHP:
Ver original
  1. <?php echo start_form($this->name, $this->method, $this->action) ?>

NOTA: generalmente no es recomendable el uso de helpers para generar forms, ni siquiera por helpers tipo content_tag, debido a la naturaleza del uso de formularios, por ejemplo en el framework de formularos de symfony suelen utilizarse diversos métodos para facilitar la creación de formularios, ejemplo de un CRUD:

Código PHP:
Ver original
  1. <form action="<?php echo url_for('modulo/'.($form->getObject()->isNew() ? 'create' : 'update').(!$form->getObject()->isNew() ? '?id='.$form->getObject()->getId() : '')) ?>" method="post" <?php $form->isMultipart() and print 'enctype="multipart/form-data" ' ?>>
  2. <?php echo $form->render(); ?>
  3. </form>

Etiquetas: formulario
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 09:54.