LARAVEL TUTORIALS
10 thủ thuật Lavavel giúp bạn code nhanh hơn! Routing trong Laravel, cách tạo Route và sử dung AZ Tạo Middleware trong Laravel đơn giản trong 5 phút Xử lý Authentication và Authorization trong Laravel Event và listener trong Laravel, cách tạo và quản lý cơ bản nhất Tạo broadcast event trong Laravel dễ dàng trong 10 phút Xử lý Form Validation trong Laravel từ A - Z Cách tạo Session và cookie trong Laravel dễ dàng như ăn cháo Top 10 Package Lavavel thường dùng trong dự án Laravel Sử dụng Task trong Laravel đơn giản trong 10 phút. Cách tạo API trong Laravel đơn giản chỉ trong 5 phút Cách tạo job trong Laravel sao cho hiệu quả? Queues trong Laravel, dùng để xử lý các tác vụ mất nhiều thời gian Cache trong Laravel, các loại Cache thường dùng trong Laravel Redis trong Laravel, biết cách sử dung Redis Laravel trong 5 phút Sử dụng Memcache trong Laravel tăng tốc độ truy cập website Unit Test trong Laravel, thực hành tạo testing Laravel A-Z 10 thủ thuật tối ưu quá trình Testing trong Laravel Top 7 thư viện Testing Laravel được dùng nhiều nhất Testbench và Orchestra Testbench trong Laravel, kiểm thử Laravel dễ dàng Cách dùng Browser Testing (Laravel Dusk) trong Laravel Cách tạo test case cho Controller trong Laravel Cách tạo test case cho Model trong Laravel Cách tạo Database Testing trong Laravel Real-time web applications là gì ? Tầm quan trọng trong Laravel Laravel WebSockets, các bước tạo WebSockets trong Laravel Cách dùng Socket.io trong Laravel để tạo ứng dụng realtime Dùng Server-Sent Events trong Laravel để làm ứng dụng realtime Cách dùng Long polling trong Laravel để cải thiện trải nghiệm Cách tích hợp Vue.js vào Laravel và làm một ứng dụng căn bản Task Scheduling là gì? Cấu hình Task Scheduling trong Laravel Cách dùng Queue trong laravel để tạo tác vụ bất đồng bộ Cách dùng Event Sourcing trong Laravel Cách sử dụng CQRS trong Laravel từ A đến Z đơn giản Sử dụng Service Container trong Laravel dễ dàng Cách xử lý đa ngôn ngữ trong Laravel dễ dàng Tìm hiểu và sử dụng Service Provider trong Laravel Facades là gì? Cách dùng Facades trong Laravel Cách sử dụng Email Verification trong Laravel Cách dùng URL Generation trong Larevel Cách sử dụng Error Handling trong Laravel Cách dùng Encryption và decryption trong Laravel Cách sử dụng Relationships trong Laravel Bài 01: Laravel là gì? Hướng dẫn cài đặt laravel trên windows Sử dụng Event trong Laravel Một cách quản lý filter trong Laravel
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Xử lý Authentication và Authorization trong Laravel

Trong Laravel, xử lý Authenticate (xác thực) và Authorize (phân quyền) là những bước quan trọng để bảo mật ứng dụng. Laravel cung cấp cho chúng ta nhiều công cụ để làm điều này, bao gồm middleware và gate.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Trong bài tôi sẽ giúp các bạn hiểu rõ hơn về Authentication và Authorization trong Laravel và sự khác nhau giữa Authentication và Authorization .Để qua bài viết bạn có thể hiểu rõ về Authentication và Authorization giúp chúng ta sử dụng mượt mà hơn khi chúng ta lập trình .

I. Authentication Laravel là gì ?

Authentication là quá trình xác thực danh tính của một người dùng hoặc một hệ thống để đảm bảo rằng họ có quyền truy cập vào một tài nguyên cụ thể hoặc thực hiện một hoạt động cụ thể.

Authentication trong Laravel thường được thực hiện bằng cách sử dụng middleware auth. Middleware này sẽ kiểm tra xem người dùng đã đăng nhập hay chưa, nếu chưa thì chuyển hướng người dùng đến trang đăng nhập. Nó làm việc thông qua Guard ,Provider, và Middleware:

Bài viết này được đăng tại [free tuts .net]

Để sử dụng middleware auth, bạn có thể đưa nó vào trong constructor của controller, ví dụ:

public function __construct()
{
    $this->middleware('auth');
}

Hoặc bạn có thể đặt nó trực tiếp trên các route, ví dụ:

Route::get('/dashboard', function () {
    //
})->middleware('auth');

1. Guard Authentication

Guard Authentication được sử dụng để xác thực người dùng và quản lý phiên đăng nhập. Laravel có một số guard mặc định, bao gồm "web" và "api", mỗi guard được cấu hình để sử dụng loại xác thực khác nhau.

Guard "web" được sử dụng cho các yêu cầu đến từ ứng dụng web và sử dụng phiên để lưu trữ thông tin đăng nhập của người dùng. Để sử dụng guard "web", bạn cần phải đảm bảo rằng tất cả các yêu cầu đến từ ứng dụng web được đi qua middleware "web".

Guard "api" được sử dụng cho các yêu cầu đến từ các ứng dụng di động hoặc ứng dụng JavaScript, sử dụng mã thông báo (token) để xác thực người dùng. Để sử dụng guard "api", bạn cần đảm bảo rằng tất cả các yêu cầu đến từ ứng dụng di động hoặc ứng dụng JavaScript được đi qua middleware "api".

Bạn cũng có thể tạo ra các guard tùy chỉnh bằng cách sử dụng phương thức "extend" trong service provider. Điều này cho phép bạn tạo các guard với các loại xác thực riêng biệt.

Ví dụ, để xác thực người dùng với guard "web", bạn có thể sử dụng phương thức "attempt" của guard như sau:

if (Auth::guard('web')->attempt(['email' => $email, 'password' => $password])) {
    // Người dùng đã đăng nhập thành công
}

Còn để xác thực người dùng với guard "api", bạn có thể sử dụng mã thông báo như sau:

if (Auth::guard('api')->check()) {
    // Người dùng đã đăng nhập thành công với mã thông báo
}

Laravel cung cấp nhiều cách khác nhau để quản lý xác thực và guard, tùy thuộc vào yêu cầu cụ thể của ứng dụng của bạn.

2. Provider Authentication

Provider Authentication là một tính năng quan trọng giúp xác thực người dùng và quản lý phiên làm việc. Nó được thực hiện thông qua các Provider, được định nghĩa trong file config/auth.php, bao gồm các loại như users, admins,...

Khi người dùng đăng nhập, Laravel sẽ tìm kiếm thông tin đăng nhập trong provider tương ứng. Nếu tìm thấy thông tin, nó sẽ tạo một phiên làm việc mới và trả về một token để xác thực người dùng. Phiên làm việc này sẽ được lưu trữ trong session của người dùng và sử dụng để xác minh các yêu cầu tiếp theo từ người dùng.

Để sử dụng Provider Authentication, trước hết ta cần đảm bảo rằng các model tương ứng đã được tạo và cấu hình trong file config/auth.php. Sau đó, ta có thể sử dụng các phương thức xác thực được cung cấp bởi Laravel như Auth::attempt() để xác thực người dùng, Auth::check() để kiểm tra xem người dùng đã đăng nhập chưa, Auth::user() để lấy thông tin người dùng đang đăng nhập, và nhiều phương thức khác.

Ví dụ, để xác thực một người dùng, ta có thể sử dụng đoạn mã sau:

if (Auth::attempt(['email' => $email, 'password' => $password])) {
    // Đăng nhập thành công
} else {
    // Đăng nhập thất bại
}

Trong đó, $email $password là thông tin đăng nhập của người dùng. Nếu thông tin đúng, người dùng sẽ được đăng nhập thành công và phiên làm việc mới sẽ được tạo ra. Ngược lại, nếu thông tin không chính xác, đăng nhập sẽ thất bại và người dùng sẽ phải thử lại.

3. Middleware Authenticate

Middleware Authenticate là một middleware được sử dụng để xác thực người dùng trước khi cho phép họ truy cập vào một tài nguyên nào đó. Nó là một phần quan trọng của bảo mật trong ứng dụng Laravel.

Khi một người dùng cố gắng truy cập vào một tài nguyên được bảo vệ, ví dụ như trang quản trị hoặc tài liệu quan trọng, Middleware Authenticate sẽ kiểm tra xem người dùng đã đăng nhập hay chưa. Nếu người dùng đã đăng nhập, họ sẽ được cho phép truy cập vào tài nguyên. Nếu không, họ sẽ bị chuyển hướng đến trang đăng nhập hoặc nhận thông báo lỗi.

Laravel cung cấp sẵn một Middleware Authenticate mặc định được gọi là "auth". Để sử dụng Middleware Authenticate trong Laravel, bạn có thể đăng ký nó cho một tuyến (route) cụ thể hoặc cho toàn bộ ứng dụng bằng cách thêm nó vào nhóm middleware trong tệp kernel.php.

Ví dụ, để bảo vệ một tuyến (route) khỏi truy cập không xác thực, bạn có thể đăng ký Middleware Authenticate cho tuyến đó như sau:

Route::get('/dashboard', function () {
    // code của trang dashboard
})->middleware('auth');

Khi người dùng cố gắng truy cập vào /dashboard, Middleware Authenticate sẽ được gọi và kiểm tra xem người dùng đã đăng nhập hay chưa. Nếu người dùng chưa đăng nhập, họ sẽ bị chuyển hướng đến trang đăng nhập. Nếu họ đã đăng nhập, họ sẽ được cho phép truy cập vào trang dashboard.

II. Authorization Laravel là gì ?

Authorization là quá trình kiểm tra xem một người dùng có được phép truy cập một tài nguyên cụ thể trong hệ thống hay không. Nó là một phần quan trọng của bảo mật trong ứng dụng, giúp đảm bảo rằng chỉ những người dùng có quyền được phép truy cập vào các tài nguyên quan trọng trong hệ thống.

Trong Laravel, "Authorization" thường được thực hiện thông qua các chính sách (policies) hoặc thông qua middleware được đặt tên là "authorization".

Các chính sách (policies) trong Laravel là các lớp được sử dụng để kiểm tra xem một người dùng có được phép thực hiện một hành động cụ thể đối với một tài nguyên trong hệ thống hay không. Ví dụ, một chính sách có thể kiểm tra xem một người dùng có quyền chỉnh sửa một bài viết hay không.

Middleware authorization là một middleware được sử dụng để kiểm tra quyền truy cập trước khi một người dùng được phép thực hiện một hành động cụ thể trong hệ thống. Nó sẽ kiểm tra các điều kiện cần thiết để đảm bảo rằng người dùng có quyền được phép truy cập trước khi cho phép họ thực hiện hành động đó.

Cả hai cách thực hiện "Authorization" đều rất quan trọng để đảm bảo tính bảo mật của ứng dụng Laravel của bạn.

1. Gate authorize

Gate là một hệ thống xác thực (authorization system) mạnh mẽ, cho phép bạn xác định những người dùng nào được phép thực hiện các hành động cụ thể trên ứng dụng của bạn. Ví dụ, bạn có thể sử dụng Gate để xác định liệu một người dùng có được phép chỉnh sửa một bài đăng, xóa một tài khoản hoặc truy cập một trang quản trị.

Để sử dụng Gate trong Laravel, bạn cần định nghĩa các chính sách (policies) cho các model và sử dụng các phương thức của Gate để kiểm tra quyền truy cập. Ví dụ, để kiểm tra xem một người dùng có được phép chỉnh sửa một bài đăng, bạn có thể sử dụng phương thức allows của Gate như sau:

if (Gate::allows('update-post', $post)) {
    // Người dùng có quyền chỉnh sửa bài đăng này
}

Ở đây, update-post là tên của chính sách được định nghĩa cho model Post (ví dụ: PostPolicy), và $post là đối tượng bài đăng cần kiểm tra.

Để định nghĩa một chính sách, bạn cần tạo một class policy tương ứng với một model, ví dụ: nếu bạn có một model Post, bạn có thể tạo một class PostPolicy. Trong class này, bạn có thể định nghĩa các phương thức để kiểm tra quyền truy cập của người dùng, ví dụ:

class PostPolicy
{
    public function update(User $user, Post $post)
    {
        return $user->id === $post->user_id;
    }
}

Trong đoạn mã trên, phương thức update kiểm tra xem người dùng có được phép chỉnh sửa bài đăng hay không. Nếu người dùng là chủ sở hữu của bài đăng (tức là user_id của bài đăng trùng với id của người dùng), phương thức trả về true, cho phép người dùng chỉnh sửa bài đăng đó.

Sau khi bạn đã định nghĩa chính sách cho model, bạn có thể sử dụng phương thức authorization của controller để kiểm tra quyền truy cập trước khi thực hiện các hành động, ví dụ:

public function update(Request $request, Post $post)
{
    $this->authorize('update', $post);

    // Xử lý chỉnh sửa bài đăng
}

Trong đoạn mã trên, phương thức authorization sử dụng Gate để kiểm tra xem người dùng có được phép chỉnh.

2. Policy authorization

Policy là một cơ chế xác thực (authorization) cho phép bạn xác định quyền truy cập của người dùng vào các tài nguyên trên ứng dụng. Policy cho phép bạn định nghĩa các quy tắc để kiểm tra xem một người dùng có được phép thực hiện một hành động cụ thể trên một tài nguyên cụ thể hay không.

Để sử dụng Policy trong Laravel, bạn cần định nghĩa các Policy cho các Model của ứng dụng. Mỗi Policy sẽ định nghĩa một số phương thức để kiểm tra quyền truy cập của người dùng. Ví dụ, nếu bạn muốn kiểm tra xem một người dùng có được phép chỉnh sửa một bài đăng, bạn có thể tạo một phương thức update() trong Policy tương ứng với Model Post như sau:

class PostPolicy
{
    public function update(User $user, Post $post)
    {
        return $user->id === $post->user_id;
    }
}

Trong đoạn mã trên, phương thức update() kiểm tra xem người dùng có phải là chủ sở hữu của bài đăng hay không bằng cách so sánh id của người dùng với trường user_id của bài đăng. Nếu phương thức trả về true, người dùng sẽ được cho phép chỉnh sửa bài đăng đó.

Sau khi bạn đã định nghĩa Policy, bạn có thể sử dụng Policy để kiểm tra quyền truy cập của người dùng vào các tài nguyên trong ứng dụng. Ví dụ, để kiểm tra quyền truy cập của người dùng vào một bài đăng, bạn có thể sử dụng phương thức authorization() của controller như sau:

public function update(Request $request, Post $post)
{
    $this->authorize('update', $post);

    // Xử lý chỉnh sửa bài đăng
}

Trong đoạn mã trên, phương thức authorization() sử dụng Policy để kiểm tra quyền truy cập của người dùng vào bài đăng. Nếu Policy trả về giá trị true, người dùng sẽ được cho phép truy cập vào bài đăng và tiếp tục thực hiện các hành động tiếp theo. Nếu Policy trả về giá trị false, một ngoại lệ Illuminate\Auth\Access\AuthorizationException sẽ được ném ra và người dùng sẽ không được phép truy cập vào tài nguyên đó.

3. Ability authorize

Ability là một cơ chế xác thực (authorization) cho phép bạn xác định quyền truy cập của người dùng vào các hành động trên ứng dụng. Ability cho phép bạn định nghĩa các quy tắc để kiểm tra xem một người dùng có được phép thực hiện một hành động cụ thể hay không.

Ability được sử dụng phổ biến trong Laravel để kiểm tra quyền truy cập cho các hành động không liên quan đến Model. Ví dụ, nếu bạn muốn kiểm tra xem một người dùng có được phép tạo mới một bài đăng hay không, bạn có thể sử dụng Ability để kiểm tra.

Để sử dụng Ability trong Laravel, bạn cần định nghĩa các Ability. Mỗi Ability sẽ định nghĩa một số phương thức để kiểm tra quyền truy cập của người dùng. Ví dụ, nếu bạn muốn kiểm tra xem một người dùng có được phép tạo mới một bài đăng, bạn có thể tạo một phương thức create() trong Ability như sau:

class PostAbility
{
    public function create(User $user)
    {
        return $user->can_create_post;
    }
}

Trong đoạn mã trên, phương thức create() kiểm tra xem người dùng có quyền tạo mới bài đăng hay không bằng cách kiểm tra trường can_create_post của người dùng. Nếu phương thức trả về true, người dùng sẽ được cho phép tạo mới bài đăng.

Sau khi bạn đã định nghĩa Ability, bạn có thể sử dụng Ability để kiểm tra quyền truy cập của người dùng vào các hành động trong ứng dụng. Ví dụ, để kiểm tra quyền truy cập của người dùng vào hành động tạo mới bài đăng, bạn có thể sử dụng phương thức authorization() của controller như sau:

public function create(Request $request)
{
    $this->authorize('create', Post::class);

    // Xử lý tạo mới bài đăng
}

Trong đoạn mã trên, phương thức authorization() sử dụng Ability để kiểm tra quyền truy cập của người dùng vào hành động tạo mới bài đăng. Nếu Ability trả về giá trị true, người dùng sẽ được cho phép thực hiện hành động đó và tiếp tục thực hiện các hành động tiếp theo. Nếu Ability trả về giá trị false, một ngoại lệ Illuminate\Auth\Access\AuthorizationException sẽ được ném ra và người dùng sẽ không được phép thực

4. Role Authorization

Role authorization là một cơ chế xác thực trong Laravel cho phép bạn kiểm soát quyền truy cập của người dùng dựa trên vai trò (role) của họ trong hệ thống. Cơ chế này cho phép bạn xác định quyền truy cập vào các tài nguyên dựa trên vai trò được phân chia của người dùng, chẳng hạn như quản trị viên (admin), người dùng (user), khách hàng (customer), v.v.

Trong Laravel, bạn có thể sử dụng middleware để xác thực quyền truy cập của người dùng dựa trên vai trò của họ. Để sử dụng middleware này, bạn cần định nghĩa các vai trò và xác định quyền truy cập tương ứng với từng vai trò đó.

Để định nghĩa vai trò trong Laravel, bạn có thể sử dụng package như spatie/laravel-permission, cung cấp một số lớp và phương thức để thao tác với vai trò, quyền và người dùng.

Sau khi đã định nghĩa các vai trò, bạn có thể sử dụng middleware role trong Laravel để xác thực quyền truy cập của người dùng. Middleware này sẽ kiểm tra xem người dùng có được phép truy cập vào tài nguyên đó hay không dựa trên vai trò của họ. Ví dụ, để bảo vệ một tài nguyên và chỉ cho phép quản trị viên truy cập vào đó, bạn có thể sử dụng middleware role trong định nghĩa route như sau:

Route::get('/admin/dashboard', function () {
    // Truy cập được chỉ cho phép với vai trò "admin"
})->middleware('role:admin');

Trong đoạn mã trên, middleware role:admin sẽ được sử dụng để kiểm tra quyền truy cập của người dùng vào tài nguyên /admin/dashboard. Middleware này chỉ cho phép người dùng có vai trò là "admin" truy cập vào tài nguyên này.

Nếu người dùng không có vai trò "admin", middleware sẽ quyết định không cho phép truy cập vào tài nguyên đó và trả về lỗi 403. Nếu người dùng có vai trò "admin", middleware sẽ cho phép truy cập vào tài nguyên và tiếp tục xử lý các yêu cầu tiếp theo.

II. Sự khác nhau giữa Authentication và Authorization

Authentication và Authorization là hai khái niệm liên quan đến bảo mật trong phần mềm.

Authentication (xác thực) là quá trình xác định tính xác thực của người dùng, tức là xác định xem người dùng là ai bằng cách yêu cầu họ nhập thông tin đăng nhập, chẳng hạn như tên người dùng và mật khẩu. Nếu thông tin đăng nhập chính xác, người dùng được xác nhận và cho phép truy cập vào hệ thống.

Authorization (xác thực quyền truy cập) là quá trình xác định quyền truy cập của người dùng sau khi đã xác thực. Tức là, sau khi xác định xem người dùng là ai, hệ thống cần xác định xem người dùng được phép truy cập vào các tài nguyên và chức năng nào trong hệ thống.

Một ví dụ để giải thích rõ hơn: Khi bạn đăng nhập vào một trang web, quá trình đăng nhập là một quá trình xác thực, nó sẽ xác định xem bạn có quyền truy cập vào hệ thống hay không. Nếu xác thực thành công, trang web sẽ xác định quyền truy cập của bạn, cho phép bạn truy cập vào một số tính năng nhất định (authorization). Ví dụ, nếu bạn là quản trị viên, bạn sẽ có quyền truy cập vào một số tính năng mà người dùng khác không thể truy cập được.

Tóm lại, Authentication và Authorization là hai khái niệm khác nhau nhưng liên quan chặt chẽ đến nhau. Authentication xác định tính xác thực của người dùng, còn Authorization xác định quyền truy cập của người dùng trong hệ thống. Cả hai đều là các yếu tố quan trọng trong bảo mật phần mềm.

Tổng kết

Trong bài viết này, chúng ta đã tìm hiểu về cách Laravel xử lý Authentication và Authorization, hai khái niệm cực kỳ quan trọng trong bảo mật phần mềm và sự khác nhau của chúng .

Laravel cung cấp nhiều công cụ và tính năng mạnh mẽ để xử lý Authentication và Authorization, bao gồm middleware, Gate, Policy và Role. Middleware cho phép bạn xác thực và xác định quyền truy cập cho các request trước khi chúng được xử lý bởi ứng dụng Laravel. Gate cho phép bạn định nghĩa các điều kiện và quy tắc để kiểm tra quyền truy cập cho các action trong ứng dụng của mình. Policy giúp bạn kiểm soát quyền truy cập cho các đối tượng trong ứng dụng, trong khi Role cho phép bạn quản lý quyền truy cập cho các user theo từng nhóm.

Nhờ các công cụ này, Laravel giúp chúng ta xử lý Authentication và Authorization một cách dễ dàng và hiệu quả. Việc xử lý chúng một cách đúng đắn không chỉ giúp bảo vệ dữ liệu và tài nguyên trong ứng dụng, mà còn giúp cải thiện trải nghiệm người dùng, tăng tính bảo mật và tránh được những rủi ro tiềm ẩn.

Tuy nhiên, để xử lý Authentication và Authorization trong Laravel một cách hiệu quả, chúng ta cần có kiến thức vững chắc về các khái niệm này cũng như các tính năng của Laravel. Hy vọng bài viết này đã giúp bạn hiểu rõ hơn về cách Laravel xử lý Authentication và Authorization và áp dụng chúng vào các ứng dụng của mình một cách chính xác.

Top 3 bài tutorialf hay về Laravel mà bạn nên tham khảo:

1. Cách phân quyền cho người dùng Authorization trong Laravel

Bài viết này chia sẻ về cách giúp ta phân quyền người dùng tốt hơn

Link bài viết : https://topdev.vn/blog/phan-quyen-nguoi-dung-voi-laravel-authorization/

2. Authentication trong Laravel có những gi ?

Nếu bạn cần tìm hiểu thêm về Authentication trong Laravel một cách riêng biệt thì xem qua bài này nó sẽ giúp bạn nhiều hơn đó

Link bài viết : https://vuvanlong.com/authentication-trong-laravel/

3. Phải làm sao để xây dựng được một bảo vệ Authentication trong Laravel

Link bài viết :https://code.tutsplus.com/vi/tutorials/how-to-create-a-custom-authentication-guard-in-laravel--cms-29667

Cùng chuyên mục:

Cách sử dụng Relationships trong Laravel

Cách sử dụng Relationships trong Laravel

Cách dùng Encryption và decryption trong Laravel

Cách dùng Encryption và decryption trong Laravel

Cách sử dụng Error Handling trong Laravel

Cách sử dụng Error Handling trong Laravel

Cách dùng URL Generation trong Larevel

Cách dùng URL Generation trong Larevel

Cách sử dụng Email Verification trong Laravel

Cách sử dụng Email Verification trong Laravel

Facades là gì? Cách dùng Facades trong Laravel

Facades là gì? Cách dùng Facades trong Laravel

Tìm hiểu và sử dụng Service Provider trong Laravel

Tìm hiểu và sử dụng Service Provider trong Laravel

Sử dụng Service Container trong Laravel dễ dàng

Sử dụng Service Container trong Laravel dễ dàng

Cách xử lý đa ngôn ngữ trong Laravel dễ dàng

Cách xử lý đa ngôn ngữ trong Laravel dễ dàng

Cách sử dụng CQRS trong Laravel từ A đến Z đơn giản

Cách sử dụng CQRS trong Laravel từ A đến Z đơn giản

Cách dùng Event Sourcing trong Laravel

Cách dùng Event Sourcing trong Laravel

Task Scheduling là gì? Cấu hình Task Scheduling trong Laravel

Task Scheduling là gì? Cấu hình Task Scheduling trong Laravel

Cách dùng Queue trong laravel để tạo tác vụ bất đồng bộ

Cách dùng Queue trong laravel để tạo tác vụ bất đồng bộ

Cách tích hợp Vue.js vào Laravel và làm một ứng dụng căn bản

Cách tích hợp Vue.js vào Laravel và làm một ứng dụng căn bản

Cách dùng Long polling trong Laravel để cải thiện trải nghiệm

Cách dùng Long polling trong Laravel để cải thiện trải nghiệm

Dùng Server-Sent Events trong Laravel để làm ứng dụng realtime

Dùng Server-Sent Events trong Laravel để làm ứng dụng realtime

Cách dùng Socket.io trong Laravel để tạo ứng dụng realtime

Cách dùng Socket.io trong Laravel để tạo ứng dụng realtime

Laravel WebSockets, các bước tạo WebSockets trong Laravel

Laravel WebSockets, các bước tạo WebSockets trong Laravel

Real-time web applications là gì ? Tầm quan trọng  trong Laravel

Real-time web applications là gì ? Tầm quan trọng trong Laravel

Cách tạo Database Testing trong Laravel

Cách tạo Database Testing trong Laravel

Top