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?
Respuesta
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.
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.
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.
- 1. ¿Qué marco utilizar: CodeIgniter, Symfony o CakePHP?
- 2. ¿Por qué utilizar Autorelease pool?
- 3. ¿Por qué utilizar la serialización
- 4. Por qué utilizar asp: HyperLink
- 5. ¿Por qué no utilizar Html.EditorForModel()
- 6. MVC3 por qué utilizar html.editorfor
- 7. ¿Por qué utilizar el patrón de visitante?
- 8. Cakephp, ¿para qué sirve?
- 9. ¿Por qué CakePHP 2.0 no está usando mi AppController?
- 10. Por qué no utilizar Spring's OpenEntityManagerInViewFilter
- 11. ¿Por qué no desea utilizar Cloud Computing
- 12. ¿Por qué no utilizar archivos XIB?
- 13. ¿Por qué utilizar SQL Server bucle anidado
- 14. ¿Por qué utilizar InnoDB sobre MySIAM
- 15. ¿Por qué utilizar BufferedReader en este caso?
- 16. ¿Por qué utilizar encabezados precompilados (C/C++)?
- 17. Por qué utilizar HandlerThread en Android
- 18. Ordenar por campo en cakephp
- 19. cakePHP security
- 20. Cómo utilizar SIMILARES O operador utilizando CakePHP y MySQL
- 21. Por qué utilizar Intellij, o qué hacer durante la evaluación
- 22. Cakephp paginación ordenar por campo calculado (COUNT)
- 23. ¿Por qué utilizar el software de seguimiento de errores?
- 24. ¿Por qué utilizar jQuery en() en lugar de clic()
- 25. Por qué utilizar el GetOrdinal() Método de la SqlDataReader
- 26. ¿Por qué utilizar campos en lugar de propiedades?
- 27. ¿Por qué utilizar un singleton en lugar de métodos estáticos?
- 28. ¿Por qué utilizar TagBuilder en lugar de StringBuilder?
- 29. ¿Por qué utilizar un motor de plantillas con un marco?
- 30. ¿Por qué utilizar singleton en lugar de clase estática?
+1 solo porque nunca he entendido la necesidad tampoco. :) – deceze
Lo mismo para mí :-) – nIcO