Nie używam php, ale raczej NodeJs. Jednak to zauważyłem podczas korzystania z routingu z AngularJs i backendem.
Wstępna prośba
Kiedy użytkownik złoży pierwszą prośbę o Twoją aplikację. Najpierw przechodzi przez logikę php. (np. $app->get('/requests', 'getRequests')
). W moim przypadku zadaniem php/back-endu są dwie rzeczy:
-
Uzyskaj dane z zaplecza wyłącznie do celów SEO (większość robotów indeksujących nie wykonuje client-js, więc musisz wstawić te dane przed wysłaniem strony do użytkownika)
-
Co najważniejsze, podaj plik indeksu w swojej aplikacji kątowej wraz z całym JS. Gdy użytkownik to otrzyma, Angular uruchomi się i możesz zacząć.
Kolejne żądania
Po załadowaniu aplikacji Angular przez użytkownika. Serwer (php) nie wie nic o tym, jak użytkownik nawiguje w Twojej aplikacji kątowej . Pamiętaj, angular jest po stronie klienta i stara się zmniejszyć liczbę żądań do serwera. Gdy użytkownik przejdzie do „(#)/requests/1234”, uruchomi .when('/requests/:id'
trasa, ale nie $app->get('/requests/:id', 'getRequest');
. Jeśli chcesz uzyskać dostęp do punktu końcowego, który pobiera dane z bazy danych, musisz użyć $http
usługa w ramach kątowej i zrób coś takiego $http.get('requests/1234')
i uzyskaj dane w ten sposób.
Daj mi znać, jeśli to nie było jasne, zagłosuj/zaakceptuj, jeśli tak było :)