Hướng dẫn route php là gì
Show
routing system luôn là 1 phần quan trọng của hệ thống code website. Bài này sẽ hướng dẫn bạn tạo router riêng để không phụ thuộc framework.2021-01-06 3780 lượt xem
hùng ebudezain đọc dữ liệu hộ bố hùng thông minh lắm hùng thông minh lắm hùng đẹp trai đọc dữ liệu hộ bố hùng đẹp trai hùng ebudezain hùng thông minh lắm Trong khi xây dựng backend cho 1 ứng dụng web, routing system luôn là 1 phần quan trọng của hệ thống code website. Tất cả các request khi qua Route đều được kiểm tra và xử lý. Sử dụng hệ thống định tuyến cho phép chúng ta cấu trúc ứng dụng của mình theo cách tốt hơn thay vì chỉ định mỗi yêu cầu vào một file hay folder như code core. bài viết được viết bởi trương thanh hùng https://ebudezain.com/ bài viết được viết bởi trương thanh hùng https://ebudezain.com/ tôi thích vậy đó bài viết được viết bởi trương thanh hùng https://ebudezain.com/ hùng đẹp trai tôi thích vậy đó bài viết được viết bởi trương thanh hùng https://ebudezain.com/ Bên cạnh đó đôi lúc chúng ta lại không cần 1 framework vì chúng quá nặng nề. Bài viết dưới đây mô tả cái nhìn tổng quan cũng như cách tạo ra 1 router nhanh mà không sử dụng framework hay package composer. đọc dữ liệu hộ bố ahihi đồ ngốc trương thanh hùng nè Yêu cầu
hùng ebudezain bài viết được viết bởi trương thanh hùng https://ebudezain.com/ tôi thích vậy đó hùng ebudezain Bạn làm được gì thông qua bài nàybài viết được viết bởi trương thanh hùng https://ebudezain.com/ hùng đẹp trai đây là bài demo nên Router chỉ xử lý GET, POST. nếu bạn muốn nhiều hơn thì mình có comment code tiếng việt có dâu, bạn cứ xem và xử lý thêm hùng đẹp trai tôi thích vậy đó vì nó rất đơn giản nên bạn sử dụng nó để lấy kiến thức nền xây dựng 1 framewok php cho riêng mình. bài viết được viết bởi trương thanh hùng https://ebudezain.com/ hùng đẹp trai ahihi đồ ngốc trương thanh hùng nè ahihi đồ ngốc trương thanh hùng nè hùng ebudezain bạn có thể sử dụng nó để làm máy chủ sản xuất nhưng hãy custom thêm nha. để nguyên như vậy là không ổn tí nào. mình muốn viết đơn giản để tất cả mọi ng đều hiểu được. hùng ebudezain hùng ebudezain Bắt đầu thôi !!! hùng ebudezain hùng đẹp trai đọc dữ liệu hộ bố Dựng index file - đăng ký các routerahihi đồ ngốc trương thanh hùng nè ahihi đồ ngốc trương thanh hùng nè tôi thích vậy đó hùng đẹp trai hùng ebudezain tạo cấu trúc thư mụchùng đẹp trai hùng ebudezain hùng đẹp trai tôi thích vậy đó ahihi đồ ngốc trương thanh hùng nè
hùng ebudezain tôi thích vậy đó hùng thông minh lắm Cấu trúc thư mục tạo Router như sau hùng đẹp trai hùng ebudezain bài viết được viết bởi trương thanh hùng https://ebudezain.com/ đọc dữ liệu hộ bố hùng thông minh lắm đọc dữ liệu hộ bố hùng thông minh lắm đọc dữ liệu hộ bố đọc dữ liệu hộ bố hùng ebudezain tôi thích vậy đó giải thích:
đọc dữ liệu hộ bố hùng ebudezain hùng đẹp trai bài viết được viết bởi trương thanh hùng https://ebudezain.com/ khiến cho mọi request đều có chung 1 dạng định nghĩahùng thông minh lắm tôi thích vậy đó hùng ebudezain hùng thông minh lắm hùng thông minh lắm điều quan trọng nhất mà các framework làm là biến các code của website đều có cùng 1 dạng từ domain.xyz/[thành-phần-sau-url] domain.xyz/index.php/[thành-phần-sau-url]. bài viết được viết bởi trương thanh hùng https://ebudezain.com/ làm như vậy để làm gì? tất cả các code của 1 web php đều có chung 1 điểm bắt đầu và sẽ dễ xử lý hơn. tôi thích vậy đó hùng thông minh lắm tôi thích vậy đó đọc dữ liệu hộ bố tôi thích vậy đó hùng đẹp trai hùng ebudezain ahihi đồ ngốc trương thanh hùng nè tôi thích vậy đó nếu bạn sử dụng apache làm server dĩ nhiên bạn cần file .htaccess để chuyển hướng tất cả url về dạng bạn muốn. Đây là file .htaccess(cái này của laravel mình copy thôi): bài viết được viết bởi trương thanh hùng https://ebudezain.com/ ahihi đồ ngốc trương thanh hùng nè tôi thích vậy đó hùng ebudezain
đọc dữ liệu hộ bố bài viết được viết bởi trương thanh hùng https://ebudezain.com/ đọc dữ liệu hộ bố hùng đẹp trai bài viết được viết bởi trương thanh hùng https://ebudezain.com/ ahihi đồ ngốc trương thanh hùng nè ahihi đồ ngốc trương thanh hùng nè nếu bạn sử dụng nginx để làm server thì bạn không cần file này, thay vào đó bạn chỉ cần nhớ config root trỏ vào: hùng thông minh lắm [Folder-code]/public tôi thích vậy đó hùng thông minh lắm đọc dữ liệu hộ bố hùng ebudezain hùng thông minh lắm ví dụ nginx:
hùng thông minh lắm hùng đẹp trai bài viết được viết bởi trương thanh hùng https://ebudezain.com/ tôi thích vậy đó hùng đẹp trai bài viết được viết bởi trương thanh hùng https://ebudezain.com/ tôi thích vậy đó Khi mọi code đều chạy vào file index.php đầu tiên thì chúng ta tha hồ "Khoe Cá Tính". hùng ebudezain tôi thích vậy đó load tất cả các class từ folder core vào index.phpahihi đồ ngốc trương thanh hùng nè để load tất cả các code vào ta dùng function load như sau :
bài viết được viết bởi trương thanh hùng https://ebudezain.com/ tôi thích vậy đó tôi thích vậy đó bài viết được viết bởi trương thanh hùng https://ebudezain.com/ đọc dữ liệu hộ bố tôi thích vậy đó ahihi đồ ngốc trương thanh hùng nè hùng thông minh lắm hùng ebudezain Nếu bạn thấy ngứa mắt vì load bằng code như này bạn có thể thay bằng load composer. tôi thích vậy đó Khởi tạo và đăng ký router trong index.phpbài viết được viết bởi trương thanh hùng https://ebudezain.com/
hùng ebudezain hùng thông minh lắm tôi thích vậy đó bài viết được viết bởi trương thanh hùng https://ebudezain.com/ hùng đẹp trai hùng ebudezain tôi thích vậy đó Bạn đã khởi tạo và đăng ký router xong và hết ( không làm gì nữa, thì php cũng sẽ tự đóng đối tượng lại bằng hàm __destruct. hùng đẹp trai hùng thông minh lắm Vậy mình sẽ lợi dụng việc đóng đối tượng để viết 1 hàm trong Router, khi Đối tượng Router bị hủy nó sẽ chạy hàm __destruct trong class Router mình sẽ trình bày sau. Trước hết toàn bộ code file index.php sẽ như sau:
ahihi đồ ngốc trương thanh hùng nè đọc dữ liệu hộ bố bài viết được viết bởi trương thanh hùng https://ebudezain.com/ hùng thông minh lắm đọc dữ liệu hộ bố DựngRequest và Router Coretôi thích vậy đó đọc dữ liệu hộ bố Dựng Request
hùng đẹp trai đọc dữ liệu hộ bố tôi thích vậy đó hùng thông minh lắm Dựng Router
ahihi đồ ngốc trương thanh hùng nè hùng thông minh lắm bài viết được viết bởi trương thanh hùng https://ebudezain.com/ hùng thông minh lắm hùng thông minh lắm hùng đẹp trai hùng ebudezain hùng đẹp trai bài viết được viết bởi trương thanh hùng https://ebudezain.com/ Trong file Router này bạn chú ý hàm __destruct sẽ được chạy sau khi toàn bộ chương trình không còn gì để chạy => sẽ gọi hàm resolve lúc này chúng ta sẽ lấy method chính là function Closure trong file index.php mình đã define. và để chạy function method chúng ta sử dụng hàm call_user_func_array tôi thích vậy đó tôi thích vậy đó ahihi đồ ngốc trương thanh hùng nè tôi thích vậy đó Chạy và kiểm tra ứng dụng. khi gõ vào trình duyệt là domain.xyz/ sẽ thấy kết quả helloworld như sau ahihi đồ ngốc trương thanh hùng nè tôi thích vậy đó đọc dữ liệu hộ bố hùng đẹp trai đọc dữ liệu hộ bố bài viết được viết bởi trương thanh hùng https://ebudezain.com/ tôi thích vậy đó hùng thông minh lắm tôi thích vậy đó bài viết được viết bởi trương thanh hùng https://ebudezain.com/ tôi thích vậy đó hùng thông minh lắm tôi thích vậy đó bài viết được viết bởi trương thanh hùng https://ebudezain.com/ ahihi đồ ngốc trương thanh hùng nè đọc dữ liệu hộ bố hùng ebudezain nhớ giả lập domain chứ đừng gõ localhost/[folder]/public nha, nó không ra vì file .htaccess đang redirect sai đó hùng đẹp trai đây là code github của mình. bạn có thể tham khảo full source ở đây |