AngularJS es muy poderoso cuando se trata de HTML5 interactivo y enlace de modelos. Por otro lado, los marcos PHP como Yii permiten el desarrollo rápido, bien estructurado, seguro y potente de aplicaciones web. Ambas tecnologías proporcionan medios sofisticados para acceso a datos, iteración y diseño de página.
¿Es una buena o mala práctica mezclar esos dos enfoques ("configuración de página" del lado del cliente y del lado del servidor) o es más bien contrario al significado de las aplicaciones web HTML5 AJAX interactivas e integradas?
No estoy hablando de generar JS usando PHP ( Ver esta pregunta ), estoy hablando de generar una vista que haga uso de AngularJS.
También sé que una página de AngularJS debe (o puede) comunicarse con el servidor a través de los servicios REST para obtener datos ( consulte esta pregunta ) en lugar de recuperarlos, por ejemplo, directamente de las variables de PHP. Pero para mí me parece más conveniente diseñar el "marco" para toda la aplicación web por separado en PHP (por ejemplo, construir el menú principal o manejar autorizaciones / sesiones, etc.)
Respuestas:
Parece que puede sentirse más cómodo con el desarrollo en PHP, lo que permite que esto evite utilizar todo el potencial con las aplicaciones web.
De hecho, es posible que PHP represente vistas parciales y completas, pero no lo recomendaría.
Para aprovechar al máximo las posibilidades de HTML y JavaScript para crear una aplicación web, es decir, una página web que actúa más como una aplicación y depende en gran medida de la representación del lado del cliente, debe considerar dejar que el cliente mantenga toda la responsabilidad de administrar el estado y la presentación. Esto será más fácil de mantener y será más fácil de usar.
Le recomendaría que se sienta más cómodo pensando en un enfoque más centrado en API. En lugar de que PHP genere una vista renderizada previamente, y use angular para la simple manipulación DOM, debe considerar que el backend de PHP muestre los datos que deben actuar sobre RESTFully y que Angular lo presente.
Usando PHP para representar la vista:
/user/account
Cómo se puede resolver el mismo problema con un enfoque centrado en API al generar JSON de esta manera:
api/auth/
y en Angular podría hacer un get y manejar el lado del cliente de respuesta.
Para combinar tanto el lado del cliente como el del servidor, la forma que propuso puede ser adecuada para proyectos más pequeños donde el mantenimiento no es importante y usted es el único autor, pero me inclino más hacia la forma centrada en la API, ya que esto será una separación más correcta de las conserjes y lo hará Ser más fácil de mantener.
fuente
a wall of javascript
? Soy nuevo en el mundo de Angular / JS API después de años de renderizado PHP, por lo que esta discusión es interesante para mí.