Mysql
 sql >> Database >  >> RDS >> Mysql

Routing con AngularJS e Slim PHP

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 :)