2012-02-29 14 views
8

Estoy empezando con CakePHP y me preguntaba si alguien podría explicar el verdadero beneficio de usar su JsHelper sobre la codificación regular jQuery estática y JS. Hasta ahora, realmente no veo cómo el ayudante haría que la creación de scripts sea más fácil o más rápida.¿Por qué utilizar JsHelper de CakePHP?

+0

+1 solo porque nunca he entendido la necesidad tampoco. :) – deceze

+0

Lo mismo para mí :-) – nIcO

Respuesta

4

por la misma razón que escribí mi GoogleMaps Helper;) la idea básica es que puedes usar el mismo lenguaje (php en este caso) que el resto de la aplicación y puedes pasar cualquier configuración y matrices de php. manteniendo los valores de datos y se supone que el ayudante debe cuidarlo.

es similar a cakephp como envoltorio para php. envuelve tu código y puede ayudar a mantenerlo seco.

no me malinterpreten, nunca he usado nunca el js/ajax helper. pero puedo entender por qué algunos quieren elegirlo antes que escribir JS. en algunos casos la salida puede ser incluso más "correcta" (si no conoce los posibles problemas). por ejemplo, el error de IE: si usted mismo arroja {} opciones y olvida eliminar el último, no se ejecutará en IE6 etc. que no puede suceder con los ayudantes como envoltorio - al menos es shoudnt;)

así que con el asistente no funciona o se ejecuta como un equipo de desarrolladores expertos lo diseñó para funcionar. especialmente para desarrolladores no tan hábiles, esta suele ser una situación en la que todos ganan: rápido y más confiable. siempre puede comenzar a cambiar a cosas manuales más adelante (si ve la salida JS real y comienza a entenderla).

también - cuando cualquiera de los métodos js necesita cambiar por alguna razón, su forma de usar el ayudante generalmente no lo hace. Si no usa la abstracción, puede que necesite ajustar manualmente todas las ocurrencias.

0

Como cualquier Ayudante, el JsHelper es una forma de analizar cosas en su vista de una manera simplificada. Pero poner en el código JS/jQuery "en bruto" en su vista funcionaría bien usando $this->Html->scriptBlock por ejemplo.

No hay un beneficio real que se me ocurra, aparte de que si jQuery cambia alguna vez la sintaxis de una función específica, no necesitaría ajustar el código cuando use el JsHelper, ya que el núcleo necesita esa actualización para ser implementado, en lugar de tener que cambiar todo su código JS "en bruto" en todas sus vistas.

0

JsHelper es como andamios: es muy útil si solo necesitas las cosas básicas, y solo las básicas. Es decir, ajaxify una paginación o algunos elementos.

Pero más allá de eso, es mejor escribir su propio código, porque necesitará las cosas como las necesita, y no cómo el ayudante está alineado por defecto.

Como todo lo demás en un marco: es una herramienta. Verifique sus requisitos y use las mejores herramientas disponibles.

Cuestiones relacionadas