Ứng dụng laravel thực sự hoạt động như thế nào ?
1. Từ khi nào một request bắt đầu hành trình của mình?
Hãy tưởng tượng rằng request của bạn là một người đưa thư nhiệt tình. Anh ấy rời khỏi nhà, mang theo một phong thư quan trọng, nhắm đến đích cuối cùng là gửi đến tay người nhận - đó là ứng dụng Laravel của bạn. Anh ấy tiến vào cửa trước, cũng chính là file public/index.php. Đây là điểm bắt đầu mọi thứ.
Đây là đoạn code để đăng ký autoload, một thành phần không thể thiếu trong framework. Nếu bạn nào chưa biết về cái này thì mình xin giải thích đơn giản. Autoload sẽ giúp chúng ta khởi tạo các class mà không cần phải require/include các file chứa class đó.
2. Chào mừng đến với Kernel!
Tại index.php, người đưa thư gặp người gác cổng Kernel. Kernel giống như một người quản lý nhà hàng tài năng, biết rõ cách điều phối mọi thứ từ đầu bếp cho đến phục vụ bàn. Kernel trong Laravel có hai loại: HTTP Kernel và Console Kernel. Người đưa thư của chúng ta chọn HTTP Kernel vì anh ấy đang mang một HTTP request.
Kernel sẽ khởi động các service provider và sau đó gửi request vào đường hầm Pipeline.
3. Đi qua đường hầm Middleware
Request của chúng ta không đi thẳng đến đích cuối cùng ngay lập tức đâu. Đầu tiên, anh ấy phải đi qua một loạt các middleware. Hãy tưởng tượng middleware là các trạm kiểm soát an ninh tại sân bay. Mỗi trạm có một nhiệm vụ riêng: kiểm tra vé, kiểm tra hành lý, kiểm tra hộ chiếu, và đôi khi còn hỏi bạn vài câu hỏi kỳ quặc.
Chẳng hạn như có một request với đường dẫn là http://localhost:8000/login, một coder muốn ràng buộc rằng nếu tồn tại session/cookie đăng nhập của client thì khi vào request này sẽ chuyển về trang chủ, còn nếu không thì vẫn hiển thị form đăng nhập để client tiếp tục. Đây là lúc sử dụng middleware để ràng buộc.
4. Route Dispatcher - Người điều phối tài ba
Sau khi vượt qua các trạm kiểm soát, request gặp Route Dispatcher. Anh này giống như người điều phối tại sân bay, chỉ dẫn hành khách đến đúng cổng khởi hành. Route Dispatcher tìm kiếm trong danh sách các tuyến đường (route) để xác định nơi mà request nên đi tiếp.
5. Đến với Controller - Người quản lý yêu cầu
Khi đã được Route Dispatcher chỉ đường, request tiến đến Controller. Hãy tưởng tượng Controller là người quản lý yêu cầu trong một nhà hàng, người này tiếp nhận yêu cầu của khách hàng và đảm bảo rằng đầu bếp sẽ chuẩn bị món ăn chính xác.
6. Model - Nhà kho dữ liệu
Nếu Controller cần dữ liệu, nó sẽ gọi đến Model. Model là những người thủ kho chăm chỉ, truy cập vào cơ sở dữ liệu và lấy ra những thông tin cần thiết. Họ làm việc với Eloquent ORM, một công cụ giúp việc truy cập dữ liệu trở nên dễ dàng hơn rất nhiều.
7. Tạo ra Response
Sau khi Controller đã hoàn thành công việc, anh ấy tạo ra một response - giống như việc đầu bếp chuẩn bị xong món ăn và đặt lên khay phục vụ. Response này có thể là HTML, JSON, hay thậm chí là một file để người dùng tải về.
8. Middleware - Một lần nữa
Trước khi response đến tay người dùng, nó phải đi qua middleware một lần nữa, giống như việc bạn phải đi qua cổng an ninh trước khi ra khỏi sân bay. Các middleware sẽ kiểm tra lại response, có thể thêm hoặc sửa đổi nó nếu cần thiết.
9. Trở lại với Kernel và sau đó ra ngoài
Cuối cùng, response quay trở lại với Kernel, nơi nó được chuẩn bị kỹ càng để gửi đến người dùng. Kernel đóng gói response và gửi nó ra ngoài, đi qua file index.php một lần nữa và cuối cùng đến trình duyệt của người dùng.
Kết thúc một hành trình đầy thú vị phải không nào
Vậy là bạn đã biết request của chúng ta đã trải qua những gì trong chuyến hành trình của mình. Từ việc gặp Kernel, đi qua middleware, được điều phối bởi Route Dispatcher, xử lý bởi Controller, truy cập dữ liệu từ Model, và cuối cùng tạo ra một response hoàn chỉnh. Laravel đã biến mọi thứ trở nên rõ ràng và dễ dàng hơn rất nhiều.
Hy vọng rằng cuộc hành trình này không chỉ giúp bạn hiểu rõ hơn về Laravel mà còn mang lại cho bạn những phút giây vui vẻ. Laravel không chỉ là một framework mạnh mẽ mà còn là một người bạn đồng hành đáng tin cậy trong mọi dự án của bạn. Hãy tiếp tục khám phá và tận hưởng sự kỳ diệu của Laravel!
Hatonet kết nối doanh nghiệp ITO toàn cầu.
Giúp các doanh nghiệp IT Việt Nam tiết kiệm chi phí,tìm kiếm
đối tác,mở rộng mạng lưới.
- Mở rộng kênh tìm kiếm khách hàng gia tăng doanh thu.
- Tiết kiệm chi phí quan hệ tìm đối tác.
- Ứng tuyển trực tuyến bất cứ lúc nào khi có yêu cầu.
- Trực tiếp liên kết với công ty quốc tế
Liên hệ :
Email: hello@hatonet.vn
Zalo: https://zalo.me/hatonet