Mysql
 sql >> Base de données >  >> RDS >> Mysql

Routage avec AngularJS et Slim PHP

Je n'utilise pas php mais plutôt NodeJs. Cependant, c'est ce que j'ai remarqué lors de l'utilisation du routage avec AngularJs et le backend.

La demande initiale

Lorsqu'un utilisateur fait une demande initiale pour votre application. Il passe d'abord par la logique php. (par exemple, $app->get('/requests', 'getRequests') ). Dans mon cas, le travail du php/back-end ici consiste en deux choses :

  • Obtenez des données du back-end à des fins de référencement uniquement (la plupart des robots n'exécutent pas client-js, vous devez donc insérer ces données avant d'envoyer la page à l'utilisateur)

  • Plus important encore, donnez le fichier d'index sur votre application angulaire avec tous les JS. Une fois que l'utilisateur reçoit cela, Angular démarre et vous êtes prêt à partir.

Demandes ultérieures

Une fois que l'utilisateur a chargé votre application Angular. Le serveur (php) ne sait rien de la façon dont l'utilisateur navigue dans votre application angulaire . N'oubliez pas qu'angular est côté client et essaie de réduire le nombre de requêtes adressées au serveur. Lorsque l'utilisateur navigue vers "(#)/requests/1234", il déclenchera le .when('/requests/:id' route mais pas $app->get('/requests/:id', 'getRequest'); . Si vous souhaitez accéder à un point de terminaison qui obtient des données de votre base de données, vous devez utiliser le $http service dans angular et faites quelque chose comme ça $http.get('requests/1234') et obtenir les données de cette façon.

Faites-moi savoir si ce n'était pas clair, votez pour/acceptez si c'était le cas :)