No estoy usando php sino NodeJs. Sin embargo, esto es lo que noté al usar el enrutamiento con AngularJs y el backend.
La solicitud inicial
Cuando un usuario hace una solicitud inicial para su aplicación. Primero pasa por la lógica de php. (por ejemplo, $app->get('/requests', 'getRequests')
). En mi caso, el trabajo de php/back-end aquí es dos cosas:
-
Obtenga datos del back-end solo con fines de SEO (la mayoría de los rastreadores no ejecutan client-js, por lo que debe insertar esos datos antes de enviar la página al usuario)
-
Lo más importante es proporcionar el archivo de índice en su aplicación angular junto con todo el JS. Una vez que el usuario recibe eso, Angular arranca y está listo para comenzar.
Solicitudes posteriores
Una vez que el usuario haya cargado su aplicación Angular. El servidor (php) no sabe nada sobre cómo navega el usuario dentro de su aplicación angular . Recuerde, angular está del lado del cliente e intenta reducir la cantidad de solicitudes al servidor. Cuando el usuario navega a "(#)/requests/1234", se activará el .when('/requests/:id'
ruta pero no el $app->get('/requests/:id', 'getRequest');
. Si desea acceder a un punto final que obtiene datos de su base de datos, debe usar el $http
servicio dentro de angular y haga algo como esto $http.get('requests/1234')
y obtener los datos de esa manera.
Avíseme si esto no quedó claro, vote a favor/acepte si lo fue :)