Tôi không sử dụng php mà là NodeJs. Tuy nhiên, đây là những gì tôi nhận thấy khi sử dụng định tuyến với AngularJs và phần phụ trợ.
Yêu cầu ban đầu
Khi người dùng đưa ra yêu cầu ban đầu cho ứng dụng của bạn. Nó đi qua logic php trước. (ví dụ:$app->get('/requests', 'getRequests')
). Trong trường hợp của tôi, công việc của php / back-end ở đây là hai việc:
-
Nhận dữ liệu từ back-end chỉ dành cho mục đích SEO (hầu hết các trình thu thập thông tin không thực thi client-js, vì vậy bạn cần phải chèn dữ liệu đó trước khi gửi trang cho người dùng)
-
Quan trọng nhất, hãy cung cấp tệp chỉ mục trên ứng dụng góc cạnh của bạn cùng với tất cả JS. Khi người dùng nhận được điều đó, Angular khởi động và bạn đã sẵn sàng.
Yêu cầu tiếp theo
Khi người dùng đã tải ứng dụng Angular của bạn. Máy chủ (php) không biết gì về cách người dùng điều hướng trong ứng dụng góc cạnh của bạn . Hãy nhớ rằng, góc là phía máy khách và cố gắng giảm số lượng yêu cầu đến máy chủ. Khi người dùng điều hướng đến "(#) / Request / 1234", nó sẽ kích hoạt .when('/requests/:id'
định tuyến nhưng không phải là $app->get('/requests/:id', 'getRequest');
. Nếu bạn muốn truy cập một điểm cuối lấy dữ liệu từ db của mình, bạn cần sử dụng $http
dịch vụ bên trong góc cạnh và thực hiện một cái gì đó như thế này $http.get('requests/1234')
và lấy dữ liệu theo cách đó.
Hãy cho tôi biết nếu điều này không rõ ràng, hãy ủng hộ / chấp nhận nếu đúng như vậy :)