Non sto usando php ma piuttosto NodeJs. Tuttavia, questo è ciò che ho notato utilizzando il routing con AngularJs e il back-end.
La richiesta iniziale
Quando un utente farà una richiesta iniziale per la tua app. Prima passa attraverso la logica php. (ad es. $app->get('/requests', 'getRequests')
). Nel mio caso il lavoro del php/back-end qui è due cose:
-
Ottieni dati dal back-end solo per scopi SEO (la maggior parte dei crawler non esegue client-js, quindi è necessario inserire quei dati prima di inviare la pagina all'utente)
-
Ancora più importante, fornisci il file di indice sulla tua app angolare insieme a tutto il JS. Una volta che l'utente lo riceve, Angular esegue il bootstrap e sei a posto.
Richieste successive
Una volta che l'utente ha caricato la tua app Angular. Il server (php) non sa nulla di come l'utente naviga all'interno della tua app angolare . Ricorda, angular è lato client e cerca di ridurre il numero di richieste al server. Quando l'utente naviga su "(#)/requests/1234" attiverà il .when('/requests/:id'
route ma non il $app->get('/requests/:id', 'getRequest');
. Se vuoi accedere a un endpoint che riceve i dati dal tuo db, devi usare il $http
servizio all'interno di angular e fare qualcosa del genere $http.get('requests/1234')
e ottieni i dati in questo modo.
Fammi sapere se questo non era chiaro, vota/accetta se lo era :)