Nepoužívám php, ale spíše NodeJs. Toho jsem si však všiml při použití směrování s AngularJs a backendem.
Počáteční požadavek
Když uživatel zadá první žádost o vaši aplikaci. Nejprve prochází logikou php. (např. $app->get('/requests', 'getRequests')
). V mém případě jsou úkolem php/back-endu dvě věci:
-
Získejte data z back-endu pouze pro účely SEO (většina prohledávačů neprovádí client-js, takže musíte tato data vložit před odesláním stránky uživateli)
-
A co je nejdůležitější, dejte indexový soubor vaší aplikaci Angular spolu se všemi JS. Jakmile to uživatel obdrží, Angular zavede a můžete začít.
Následné požadavky
Jakmile uživatel načte vaši aplikaci Angular. Server (php) neví nic o tom, jak se uživatel pohybuje ve vaší aplikaci Angular . Pamatujte, že angular je na straně klienta a snaží se snížit počet požadavků na server. Když uživatel přejde na „(#)/requests/1234“, spustí se .when('/requests/:id'
trasa, ale ne $app->get('/requests/:id', 'getRequest');
. Pokud chcete přistupovat ke koncovému bodu, který získává data z vaší databáze, musíte použít $http
službu v rámci angular a proveďte něco takového $http.get('requests/1234')
a získat data tímto způsobem.
Pokud to nebylo jasné, dejte mi vědět, pokud ano, hlasujte pro/přijměte :)