¿Es una buena idea combinar un marco JS Ajax / UI (ext, jquery-ui) con un marco PHP MVC (zend, symfony)?

StackOverflow https://stackoverflow.com/questions/1800775

Pregunta

Me doy cuenta de que esta es una pregunta muy genérica, pero supongo que realmente no estoy buscando una respuesta definitiva. Al ser nuevo en los frameworks PHP, me está costando entenderlo.

Los frameworks Javascript, especialmente con extensiones de UI, parecen tener su tipo de enfoque MVC al separar su código JS de su diseño. Parece que sería confuso usar un marco MVC adicional en el back-end.

¿Esto se hace comúnmente para aplicaciones principalmente basadas en AJAX? ¿Hay una forma aceptada / común de hacerlo?

¿Fue útil?

Solución

Un ejemplo rápido de cómo puede encajar en una aplicación Zend Framework (y esto es de una aplicación de demostración que escribí hace unos meses):

  • Use MCV Framework para crear un sitio totalmente funcional (que funciona sin javascript).
  • Modifique el controlador para comprender la diferencia entre una solicitud 'normal' y una solicitud AJAX (el cambio de contexto de Zend lo hace fácil).
  • Agregar Javascript (en mi ejemplo jQuery) para reemplazar limpiamente los enlaces con eventos AJAX.

Al final, la aplicación PHP sabe que una solicitud AJAX necesita una respuesta AJAX (menos ancho de banda, menos procesamiento, solo 'fragmento' JSON o HTML), pero una solicitud normal necesita una página completa generada.

Básicamente, solo está utilizando AJAX para solicitar (o actualizar o agregar datos) la plantilla 'ver', sin tener que procesar todo el diseño. Zend Framework Context Switch Action Helper puede ayudar a que esto tenga más sentido.

Vale la pena mencionar que el cambio de contexto funciona bien al hacer que una solicitud esté disponible en diferentes formatos: HTML / XML, CSV, etc.

Otros consejos

Es el siguiente paso lógico de MVC, en mi opinión. Ya separó su acceso a datos (modelo), de la lógica de negocios (controlador), de la salida (vista), ahora solo está separando el comportamiento del marcado.

En mi experiencia, funciona muy bien con las funciones de AJAX, ya que solo necesita cambiar su Vista para devolver la información necesaria como JSON o XML.

Es una muy buena idea, ya que los frameworks PHP MVC se incluyen con los frameworks JS :


enlace actualizado, gracias " Excepción e " ;.

Personalmente, estamos usando Zend (MVC, así como otros aspectos del marco Zend) con jquery y funciona muy bien juntos. Dado que no toda su interacción desde la página html será a través de jquery (ajax), se recomienda una arquitectura MVC estándar. Ciertamente desea las capas de su arquitectura (que separan el modelo y la vista) y tener jquery es (al menos para mí) y '' característica '' adicional. de poder ejecutar su MVC de forma asincrónica.

  

Parece que sería confuso usar un marco MVC adicional en el backend.

No hay que preocuparse por eso. Puede usar zend framework y extjs, por ejemplo, de forma independiente durante el desarrollo, son productos realmente separados. Las dependencias entre estas capas deben mantenerse simples . No hay que preocuparse.

El acoplamiento es bajo, solo necesita configurar medios para consultar los datos de su aplicación de servidor y hacer lo que quiera con el lado del cliente. La línea entre estos sistemas es simple y no lo confundirá.
Extjs realmente no tiene una estructura mvc en mi humilde opinión. Ofrece componentes ricos predefinidos. Pega estos componentes con alguna configuración y configura las URL de tu servidor desde donde se pueden obtener los datos.

¿Cómo hace que su zend mvc responda a ajax? Le recomiendo que vea la presentación sobre zf & # 8596; ajax del líder del proyecto de zf.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top