2011-05-25 7 views
6

Este es mi tenedor en el camino.Zend_View_Helper vs Zend View Partial Script

Quiero mostrar algún tipo de botón en mi página web y quiero hacerlo en muchos lugares. Este 'botón' realmente va a actuar como un enlace a alguna otra página y todas las instancias de los botones irán a una página.

Quiero que todos los botones sean iguales excepto por el tamaño que tienen.

Ahora, ¿debo usar un script parcial con el html para el botón y llamar al asistente de vista parcial para representar o debería crear un Zend_View_Helper que devolverá el html para el botón cuando lo llame?

Sé que podría cambiar de dirección pero ¿cuál crees que es mejor?

Algunas cosas que ver:

  1. El ayudante podría ser mejor, ya que no tendría que crear un objeto grande como un clon de un Zend_View para hacer el parcial.

  2. El script parcial sería más fácil para una persona html para trabajar.

Respuesta

9

Uso $ this-> render() en lugar de $ this-> parcial().

Utilice solo parciales cuando necesite más control sobre el osciloscopio. Como dijiste, tiene muchos gastos generales, ya que tiene que crear una nueva instancia de Zend_View. El uso de render no.

Para tocar su pregunta real, le recomiendo usar render (o parcial) sobre un asistente de visualización porque es mucho más simple para que los diseños funcionen, y hay menos sobrecarga. Los ayudantes de vista son para funcionalidad personalizada.

Una buena regla general es: ¿desea incluir contenido/html, o desea generar contenido/aplicar transformaciones. Los ayudantes son para este último.

+0

Gracias por la regla de oro y mencionar el método de renderizado. Tiene mucho menos sobrecarga que parcial. –

1

En función de su descripción, le sugiero usar parcial para su tarea. La razón es que su botón parece ser principalmente html, sin mucho php. Podrías pasar el tamaño al parcial y eso sería todo. Sin embargo, si desea incluir más lógica en la generación de su botón (por ejemplo, consultas de base de datos, autenticación o acl), sugeriría ver ayuda.

p.s. La tercera opción sería usar ayuda parcial y de vista, tal vez no para este caso particular, sino en un sentido más general. Podrías tener un helper que haga php part y este helper call parcial para devolver el html deseado.

1

Tiendo a utilizar un asistente de visualización cada vez que necesito valores muy parametrizados. Por ejemplo:

echo $this->button('Button Text', '/foo/bar/baz'); 

ve mucho mejor que:

$this->buttonText = 'Button Text'; 
$this->buttonUrl = '/foo/bar/baz'; 
echo $this->render('button.phtml'); 

Además, no hay ninguna razón usted no puede hacer que un script de vista desde el interior de su ayudante de vista.

Cuestiones relacionadas