Middleware là gì – Happymobile.vn

Bài viết Middleware là gì – Happymobile.vn thuộc chủ đề về Hỏi Đáp đang được rất nhiều bạn lưu tâm đúng không nào !! Hôm nay, Hãy cùng HappyMobile.vn tìm hiểu Middleware là gì – Happymobile.vn trong bài viết hôm nay nha !
Các bạn đang xem bài : “Middleware là gì – Happymobile.vn”

Middleware là gì?

Middleware là những đoạn mã trung gian nằm giữa các request và response. Nó nhận các request, thi hành các mệnh lệnh tương ứng trên request đó. Sau khi hoàn thành nó response (trả về) hoặc chuyển kết quả ủy thác cho một Middleware khác trong hàng đợi.

Bạn đang xem: Middleware là gì

*

Một ví dụ thường nhật mà chúng ta thường phải dùng Middleware đó là các trang chỉ dành riêng cho admin và không cho phép người dùng bình thường khả năng truy cập.

Tại sao nên dùng nó?

Tại sao Laravel là framework tốt nhất 2019?
Expressjs là gì? Tất tần tật về Express.js

Với tư tưởng chung là cầu nối giữa tương tác của người dùng và hệ thống trong lập trình Web. Middleware sẽ đóng vai trò trung gian giữa request/response và các xử lý logic bên trong web server.

vì thế, Middleware trong các Framework cho ứng dụng Web (Laravel, Django, Rails, ExpressJS…), sẽ là các hàm được dùng để tiền xử lý, lọc các request trước khi đưa vào xử lý logic hoặc điều chỉnh các response trước khi gửi về cho người dùng.

Hiểu các khái niệm cơ bản của Laravel Middleware

Trong bài viết này, mình sẽ lấy ví dụ là dùng framework Laravel để hiểu khái niệm về middleware. Chúng ta sẽ xem xét cách tạo middleware tùy chỉnh trong một ứng dụng Laravel.

Bài Viết Đọc Nhiều  Truyện ngược là gì, sủng là gì? Đọc ngôn tình nhất định buộc phải biết!

Sau khi tạo middleware tùy chỉnh của bạn, chúng ta sẽ khám phá các tùy chọn có sẵn để đăng ký nó với Laravel để nó khả năng thực sự được gọi trong luồng xử lý bắt buộc.

Middleware trong Laravel là gì?

Middleware như là một cơ chế cho phép bạn tham gia vào luồng xử lý request của một ứng dụng Laravel. Trong một quy trình xử lý route điển hình của Laravel khi thực thi việc xử lý bắt buộc và middleware là một trong số những class mà ứng dụng phải thông qua.

Vậy chính xác thì việc xử lý luồng bắt buộc Laravel là gì? Ví dụ: cần xác thực người dùng để quyết định xem họ có được phép truy cập đến route hiện nay hay không.

bắt buộc đăng nhậpChuyển hướng người dùngThay đổi/chuẩn hoá các tham sốXử lý response được ứng dụng Laravel tạo ra…

Thực tế, Laravel mặc định đã có sẵn một vài middleware quan trọng. Việc xác thực người dùng cũng được chính middleware này thực thi.

Cơ cấu xử lý request trong Laravel như thế nào?

Làm thế nào để tạo Middleware tùy biến

Chúng ta sẽ tự tạo ra một middleware tùy biến trong phần này. Như đã nói ở trên, Laravel có sẵn các middleware quan trọng, mặc khác để đáp ứng thêm mong muốn thì chúng ta cần phảo tạo thêm nhiều middleware khác. Nhưng chính xác thì middleware này sẽ làm gì?

Case study chi tiết nhất mà thực tiễn nhất là khi chúng ta truy cập trang web từ bất kỳ thiết bị di động nào, thì sẽ được chuyển hướng đến URL miền phụ tương ứng (vd: m.topdevkhi ta vào topdevtrên mobile) dành cho mobile với tất cả thông số chuỗi truy vấn còn nguyên vẹn. Tất nhiên bây giờ đã có responsive nhưng đôi khi một phiên bản mobile tinh gọn và tốc độ nhanh sẽ có những công dụng hay ho khác

Bài Viết Đọc Nhiều  Twerk Là Gì - #Twerking Là Gì Tại Sao Nên Đi Tập

Trong middleware tùy chỉnh này, chúng ta sẽ kiểm tra user agent và user được chuyển hướng đến URL tương ứng trên di động nếu họ đang dùng thiết bị di động.

Chạy lệnh sau để tạo một template middleware MobileRedirect.

Xem thêm: Tai Nghe Chuyên Chơi Game

php artisan make:middleware MobileRedirectVà bạn sẽ tạo ra một file app/Http/Middleware/MobileRedirect.php với code sau.

Việc triển khai của method handle dựa trên khung sườn của middleware, và logic chính của middleware mà bạn đang tìm cách triển khai nằm ở đây.

Có 2 loại middleware mà Laravel đang có — before middleware và after middleware.

Before middleware chạy trước khi bắt buộc thực sự được xử lý và phản hồi được tạo ra. Mặt khác, after middleware chạy sau khi bắt buộc được ứng dụng xử lý và phản hồi đã được xây dựng tại thời điểm này.

Trong trường hợp này, chúng ta cần chuyển hướng người dùng trước khi bắt buộc được xử lý và vì thế nó sẽ được phát triển như một before middleware.

Tiếp tục chỉnh sửa file app/Http/Middleware/MobileRedirect.php với các nội dung sau.

mobile == “1”) return redirect(“mobile-site-url”); return $next($request); }}Chúng ta sẽ kiểm tra sự tồn tại của tham số mobile và nếu có tổng giá trị TRUE, người dùng sẽ được chuyển hướng đến URL trên thiết bị di động. Lúc này bạn cần dùng một thư viên phát hiện user agent để lấy thông tin user ở client.

Tiếp tục ta sẽ gọi $next($request) giúp bắt buộc được xử lý thêm. Điều quan trọng cần lưu ý trong trường hợp này là chúng ta đã thiết lập logic phát hiện thiết bị di động trước khi gọi $next($request), và nó trở thành before middleware.

Bài Viết Đọc Nhiều  Junction Là Gì - Nghĩa Của Từ Junction

Sau đó chúng ta tạo một after middleware để xử lý các bắt buộc trên.

Xem thêm: Ebay Là Gì – Tìm Hiểu Và Trang Web Ebay Bán Cái Gì

Lúc này, middleware tùy chỉnh của chúng ta gần như đã sẵn sàng để được test thử. Bạn cần phải đăng ký middleware của bạn trong Laravel. Ta mở file app/Http/Kernel.php

/** * The application”s global HTTP middleware stack. * * These middleware are run during every request to your application. * *
var array */protected $middleware = < IlluminateFoundationHttpMiddlewareCheckForMaintenanceMode::class, IlluminateFoundationHttpMiddlewareValidatePostSize::class, AppHttpMiddlewareTrimStrings::class, IlluminateFoundationHttpMiddlewareConvertEmptyStringsToNull::class,>;Chúng tha thêm middleware tùy chỉnh của mình vào mảng trên sau:

protected $middleware = < IlluminateFoundationHttpMiddlewareCheckForMaintenanceMode::class, IlluminateFoundationHttpMiddlewareValidatePostSize::class, AppHttpMiddlewareTrimStrings::class, IlluminateFoundationHttpMiddlewareConvertEmptyStringsToNull::class, AppHttpMiddlewareMobileRedirect::class,>;Sau khi thêm vào, chúng ta thử truy cập vào bất kỳ route nào của Laravel bằng chuỗi truy vấn mobile=1 và xem kết quả, lúc này coi như chúng ta đã đăng ký thành công middleware do mình tạo. Đôi khi bạn chỉ muốn chạy middleware cho các route xác định hãy dùng $routeMiddleware.

Chuyên mục:

Các câu hỏi về Middleware là gì – Happymobile.vn


Nếu có bắt kỳ câu hỏi thắc mắt nào vê Middleware là gì – Happymobile.vn hãy cho chúng mình biết nha, mõi thắt mắt hay góp ý của các bạn sẽ giúp mình nâng cao hơn hơn trong các bài sau nha

Các Hình Ảnh Về Middleware là gì – Happymobile.vn

Middleware là gì - WEB GIẢI ĐÁP

Các từ khóa tìm kiếm cho bài viết #Middleware #là #gì #WEB #GIẢI #ĐÁP

Tham khảo dữ liệu, tại WikiPedia

Bạn hãy tìm thêm nội dung về Middleware là gì – Happymobile.vn từ web Wikipedia.◄

source: https://happymobile.vn/

Xem thêm các bài viết về Hỏi Đáp tại : https://happymobile.vn/hoi-dap/

Related Posts

About The Author

Add Comment