¿Debo mezclar AngularJS con un marco PHP? [closed]

5 minutos de lectura

¿Debo mezclar AngularJS con un marco PHP? [closed]
Dani

AngularJS es muy poderoso cuando se trata de HTML5 interactivo y enlace de modelos. Por otro lado, los marcos PHP como Yii permiten un desarrollo de aplicaciones web rápido, bien estructurado, seguro y potente. Ambas tecnologías proporcionan medios sofisticados para el acceso a datos, la iteración y el diseño de páginas.

¿Es una buena o mala práctica mezclar esos dos enfoques (la “configuración de la página” del lado del cliente y del lado del servidor) o va en contra del significado de las aplicaciones web HTML5 AJAX interactivas y perfectas?

No estoy hablando de generar JS usando PHP (vea esta pregunta), estoy hablando de generar una vista que utilizará AngularJS.

También sé que una página AngularJS debería (o puede) comunicarse con el servidor a través de los servicios REST para obtener datos (consulte esta pregunta) en lugar de recuperarlos directamente, por ejemplo, de variables PHP. Pero me parece más conveniente diseñar el “marco” para toda la aplicación web por separado en PHP (por ejemplo, crear el menú principal o manejar la autorización/sesiones, etc.)

  • Gran pregunta. Me gustaría que hubiera una ubicación de StackExchange diseñada para este tipo de preguntas. Estoy acostumbrado a PHP y tengo un proyecto cURL para recopilar una gran cantidad de datos, y creo que un marco de JavaScript sobre la biblioteca encajaría bien en mi proyecto. Mi problema es como el suyo, quiero saber qué es una buena práctica (ventajas y desventajas) junto con qué partes elimina del proyecto original (PHP), etc. Creo que estas conversaciones podrían solicitar debate, pero ¿cómo podemos llegar a la mejor fusión de los dos idiomas sin una conversación.

    – Shane

    21 abr. 13 en 22:08

  • Tengo algunos proyectos de AngularJS que estoy convirtiendo de nuevo a PHP/Jquery. He tenido un sinfín de problemas para hacer que Angular funcione con una amplia variedad de dispositivos móviles y navegadores. Angular es difícil de SEO y Google no es su amigo. He visto sitios con la clasificación más alta desaparecer de las SERPS debido al cambio a angular…

    – HappyCoder

    27 mar. 18 en 13:33


¿Debo mezclar AngularJS con un marco PHP? [closed]
kenneth lynne

Parece que puede sentirse más cómodo con el desarrollo en PHP si deja que esto le impida utilizar todo el potencial con las aplicaciones web.

De hecho, es posible hacer que PHP renderice 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 sintiera más cómodo pensando en un enfoque más centrado en API. En lugar de que PHP genere una vista prerenderizada y use angular para la mera manipulación de DOM, debe considerar que el backend de PHP genere los datos sobre los que se debe actuar RESTFully y que Angular los presente.

Usando PHP para renderizar la vista:

/user/account

if($loggedIn)
{
    echo "<p>Logged in as ".$user."</p>";
}
else
{
    echo "Please log in.";
}

Cómo se puede resolver el mismo problema con un enfoque centrado en API al generar JSON de esta manera:

api/auth/

{
  authorized:true,
  user: {
      username: 'Joe', 
      securityToken: 'secret'
  }
}

y en Angular podría obtener y manejar la respuesta del lado del cliente.

$http.post("http://example.com/api/auth", {})
.success(function(data) {
    $scope.isLoggedIn = data.authorized;
});

Combinar tanto el lado del cliente como el del servidor de la manera que usted propuso puede ser adecuado 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 esta será una separación más correcta de preocupaciones y voluntad. ser más fácil de mantener.

  • A simple de un ejemplo. Yo mismo estaba buscando algo más que un inicio de sesión básico súper tonto que todos hacen. Gran diferencia cuando tiene PHP/HTML y variables

    $name

    sobre

    { { name } }

    y luego ‘app.run(function($rootScope) {$rootScope.name = “Ari Lerner”;});’ Yo mismo estoy tratando de ver/encontrar la ventaja de intentar o intentar que PHP haga páginas angulares ‘DINÁMICAS’. Y simplemente no verlo. Hacer que un cliente espere para cargar cada elemento individual y completar/cambiar las plantillas. Simplemente no me gusta la idea de que PHP genere un muro de javascript como ese todavía, y fácilmente visible

    – Shawn Rebelo

    28 ene.


  • @ShawnRebelo ¿Puedes aclarar un poco qué quieres decir con a wall of javascript? Soy nuevo en el mundo de la API de Angular/JS después de años de procesamiento de PHP, por lo que esta discusión me resulta interesante.

    – Dan Nissenbaum

    02 abr.

  • “En lugar de que PHP genere una vista renderizada previamente, y use angular para la mera manipulación de DOM…” – Permítame presentarle una concepto nuevo-viejo.

    – Ira disidente

    19 sep.

  • Así es exactamente como debería ser, una API tranquila desde el backend puede ser cualquier idioma y una aplicación angular para el front-end puede funcionar independientemente del backend.

    – Amir Savand

    28 ene.

  • Lo que no puedo entender es por qué debo cargar una página genérica con marcadores de posición y luego cargar una parte con una o más solicitudes asíncronas para obtener algo que ya tenía en la carga de la primera página, como datos de usuario/autenticación.

    – Tobía

    21 mar. 17 a las 21:37

.

¿Ha sido útil esta solución?