Làm cách nào để sử dụng route() trong Laravel?

Định tuyến là một trong những khái niệm thiết yếu trong Laravel. Định tuyến trong Laravel cho phép bạn định tuyến tất cả các yêu cầu ứng dụng của mình tới bộ điều khiển thích hợp của chúng. Các tuyến đường chính và tuyến đường chính trong Laravel thừa nhận và chấp nhận một URI (Mã định danh tài nguyên thống nhất) cùng với một bao đóng, với điều kiện là nó phải là một cách định tuyến đơn giản và rõ ràng. Trong hướng dẫn này, bạn sẽ tìm hiểu về khái niệm định tuyến của Laravel

Tạo các tuyến đường trong Laravel

Tất cả các route trong Laravel được định nghĩa trong các tệp route mà bạn có thể tìm thấy trong thư mục con routes. Các tệp tuyến đường này được tải và tạo tự động bởi khuôn khổ Laravel. Tệp định tuyến của ứng dụng được xác định trong ứng dụng/Http/tuyến. tập tin php. Định tuyến chung trong Laravel cho từng yêu cầu có thể trông giống như thế này

http. //máy chủ cục bộ/

Route:: get ('/', function () {
   return 'Welcome to index';
});

http. // localhost/người dùng/bảng điều khiển

Route:: post('user/dashboard', function () {
   return 'Welcome to dashboard';
});

http. // localhost/người dùng/thêm

Route:: put('user/add', function () {
//
});

http. // localhost/bài đăng/ví dụ

Route:: delete('post/example', function () {
//
});

Cơ chế định tuyến trong Laravel

Cơ chế định tuyến diễn ra theo ba bước khác nhau

  1. Trước hết, bạn phải tạo và chạy URL gốc của dự án của mình
  2. URL bạn chạy cần khớp chính xác với phương thức của bạn được xác định trong thư mục gốc. php và nó sẽ thực thi tất cả các chức năng liên quan
  3. Hàm gọi các tệp mẫu. Sau đó, nó gọi hàm view() với tên tệp nằm trong tài nguyên/lượt xem/ và loại bỏ phần mở rộng của tệp. php tại thời điểm gọi

Ví dụ

ứng dụng/Http/tuyến. php

tài nguyên/xem/laravel. lưỡi. php




    
        Laravel5 Tutorial
    

    
        

Laravel5 Tutorial

Welcome to Laravel5 tutorial.

Tham số tuyến đường

Trong nhiều trường hợp, một tình huống phát sinh trong ứng dụng của bạn khi bạn phải nắm bắt các tham số được gửi qua URL. Để sử dụng các tham số được truyền này một cách hiệu quả trong Laravel, bạn phải thay đổi các route. mã php

Laravel cung cấp hai cách để nắm bắt tham số đã truyền

  • tham số bắt buộc
  • Tham số tùy chọn

Thông số bắt buộc

Đôi khi bạn phải làm việc với (các) đoạn URL của dự án (Bộ định vị tài nguyên thống nhất). Các tham số định tuyến được gói gọn trong {} (dấu ngoặc nhọn) với các bảng chữ cái bên trong. Hãy để chúng tôi lấy một ví dụ trong đó bạn phải lấy ID của khách hàng hoặc nhân viên từ URL được tạo

Ví dụ

Route :: get ('emp/{id}', function ($id) {
    echo 'Emp '.$id;
});

Tham số tùy chọn

Nhiều thông số không còn hiện diện trong URL, nhưng các nhà phát triển đã phải sử dụng chúng. Vì vậy, các tham số như vậy được biểu thị bằng dấu "?"

Các tuyến Laravel được sử dụng để liên kết url với hành động của bộ điều khiển. Khi bạn tạo trang mới trong laravel, bạn phải nhớ ba điều

  • Trước tiên, bạn quyết định url mà người dùng sẽ truy cập thông qua trình duyệt là gì
  • Làm thế nào bạn có thể liên kết url này với một phương pháp điều khiển cụ thể
  • Chế độ xem nào sẽ được hiển thị theo phương thức của bộ điều khiển

Khi bạn học laravel framework, điều đầu tiên bạn sẽ làm sau khi cài đặt là xác định route. Mỗi tuyến đường sẽ liên kết url với một hành động điều khiển cụ thể. Trong hướng dẫn này, chúng ta sẽ chỉ tìm hiểu về định tuyến

Các tuyến api REST là gì?

Sau đây là một số phương thức http thường được sử dụng. Các phương thức này về cơ bản tương ứng với các hoạt động tạo, đọc, cập nhật và xóa

Phương thức httpCRUDPurposeResponsePOSTCREATĐược sử dụng để tạo bản ghi trong cơ sở dữ liệu201 - đã tạo, 404 - Không tìm thấy, 409 - Xung độtGETREADĐược sử dụng để liệt kê các bản ghi từ cơ sở dữ liệu200 - Ok, 404 - Không tìm thấyPUTUPDATEĐược sử dụng để cập nhật hoặc thay thế bản ghi trong cơ sở dữ liệu405 - Không được phép, 200 - Ok, 204 - . 404 - Not FoundDELETEDELETEĐược sử dụng để xóa bản ghi khỏi bảng200 - Ok, 404 - Không tìm thấy trang

POST - phương pháp thường được sử dụng để tạo bản ghi hoặc tài nguyên mới. Biểu mẫu được gửi qua phương thức POST và không thể xem dữ liệu được gửi qua phương thức này qua url của trình duyệt. Khi bản ghi được tạo thành công, nó sẽ trả về mã trạng thái 201

GET - phương pháp thường được sử dụng để đọc một hoặc nhiều bản ghi hoặc tài nguyên. Về cơ bản nó là phương pháp chỉ đọc. Nó không sửa đổi bất kỳ dữ liệu

PUT - phương pháp thường được sử dụng để cập nhật dữ liệu hoặc tạo dữ liệu trong trường hợp khách hàng cung cấp id cần cập nhật

PATCH - phương pháp thường được sử dụng để cập nhật một phần dữ liệu trong cơ sở dữ liệu thay vì cung cấp tất cả dữ liệu cho một bản ghi

XÓA - phương pháp thường được sử dụng để xóa bản ghi hoặc tài nguyên

Làm cách nào để xác định tuyến đường trong laravel?

Các route trong laravel được xác định ở vị trí sau

  • tuyến đường/api. php       -> Định tuyến cho url có tiền tố /api
  • tuyến đường/web. php     -> Tất cả các tuyến web được xác định tại đây

Sau đây là một số ví dụ về các tuyến đường cơ bản

# Defines a route that lists all the users using GET method
Route::get('users', 'UserController@show')->name('users');

# Defines a route that creates user using POST method
Route::post('/users', 'UserController@create');

# Defines a route that update user partially using PATCH method
Route::patch('/users/:id', 'UserController@update');

# Defines a route that deletes user using DELETE method
Route::delete('/users/:id', 'UserController@delete');
Làm cách nào để xác định tuyến đường không có bộ điều khiển?

Rất dễ dàng để tạo một tuyến đường không liên kết với bất kỳ bộ điều khiển nào và phản hồi bằng chế độ xem văn bản, json hoặc html. Xem xét ví dụ sau

# Creates a login route with .html extension and returns view
Route::get('members/login.html', function() { 
   return View::make('members.login'); 
});

# Route that returns view directly using GET method
Route::view('/dashboard', 'dashboard');

# Route that returns view by passing some variables to view
Route::view('/welcome', 'welcome', ['name' => 'Sandip Patel']);
Làm cách nào để xác định các tuyến đường có tham số?

Để xác định các tuyến đường có hoặc không có tham số tùy chọn trong laravel, sau đây là một số ví dụ

# Defines a routes where id is dynamic 
# Controller must define this $id param as an argument
Route::get('/users/:id', 'UserController@get');

# Defines a routes where id is optional parameter
Route::get('/users/{id?}', 'UserController@get');

# Defines a routes where id is required parameter
Route::get('/users/{id}', 'UserController@get');
Làm cách nào để xác thực thông số tuyến đường?

Bạn cũng có thể xác thực tham số tuyến đường bằng biểu thức chính quy để hạn chế tham số với một số loại nhất định

Route:: post('user/dashboard', function () {
   return 'Welcome to dashboard';
});
0Các tuyến có nhóm và phần mềm trung gian

Nếu bạn quyết định nhóm một số route cần đính kèm một số phần mềm trung gian nhất định, bạn có thể dễ dàng xác định chúng trong laravel. Giả sử ứng dụng của bạn có cả front và backend

Chỉ người dùng đã đăng nhập mới được phép truy cập một số url. Bạn có thể xác định một phần mềm trung gian để kiểm tra xem người dùng có đăng nhập hay không và sau đó nhóm một số tuyến đường để họ triển khai phần mềm trung gian đó

Hãy kiểm tra các ví dụ sau

Route:: post('user/dashboard', function () {
   return 'Welcome to dashboard';
});
1Xác định tuyến đường với không gian tên

Nếu bạn đang làm việc với các không gian tên và bạn không muốn viết đầy đủ không gian tên trong mỗi url giống như ví dụ bên dưới

Route:: post('user/dashboard', function () {
   return 'Welcome to dashboard';
});
2

Nếu bạn có nhiều tuyến lặp lại các mẫu giống nhau, bạn có thể dễ dàng nhóm chúng bằng cách sử dụng không gian tên và sử dụng chúng như hình bên dưới

Route:: post('user/dashboard', function () {
   return 'Welcome to dashboard';
});
3

Lưu ý, chúng tôi không cần xác định toàn bộ không gian tên nếu chúng tôi quyết định khai báo các tuyến bằng cách sử dụng nhóm không gian tên

Làm cách nào để thêm tiền tố vào trước mỗi url?

Sử dụng định tuyến laravel, bạn có thể dễ dàng thêm tiền tố vào các tuyến đường cần thiết và nhóm chúng lại với nhau. Hãy xem xét bạn đang tạo các tuyến quản trị và bạn muốn thêm tiền tố quản trị vào tất cả các tuyến của mình thay vì đi đến từng tuyến và thêm tiền tố bạn muốn xác định tiền tố và nhóm tất cả các tuyến của bạn theo tiền tố đó. Sau này sẽ dễ dàng thay đổi tiền tố trong trường hợp bạn quyết định thay tiền tố /admin bằng /something

Route:: post('user/dashboard', function () {
   return 'Welcome to dashboard';
});
4Làm cách nào để có được tên hoặc hành động hoặc tuyến đường hiện tại?

Để có được tên tuyến đường hoặc hành động hoặc url hiện tại, bạn có thể sử dụng các phương pháp sau

Route:: post('user/dashboard', function () {
   return 'Welcome to dashboard';
});
5Làm cách nào để xác định tuyến đường 404?

Sử dụng phương thức 

# Creates a login route with .html extension and returns view
Route::get('members/login.html', function() { 
   return View::make('members.login'); 
});

# Route that returns view directly using GET method
Route::view('/dashboard', 'dashboard');

# Route that returns view by passing some variables to view
Route::view('/welcome', 'welcome', ['name' => 'Sandip Patel']);
1 , bạn có thể xác định tuyến đường sẽ được thực thi khi không có tuyến đường nào khác phù hợp với yêu cầu đến. Giả sử bạn muốn xác định trang 404 khi không có tuyến đường nào khác phù hợp, bạn có thể sử dụng tuyến đường sau

Route:: post('user/dashboard', function () {
   return 'Welcome to dashboard';
});
7Làm cách nào để nhóm các tuyến đường dựa trên tên miền phụ?

Bạn có thể nhóm các tuyến nhất định cụ thể cho các miền phụ nhất định. Bạn có thể định nghĩa chúng như sau

# Creates a login route with .html extension and returns view
Route::get('members/login.html', function() { 
   return View::make('members.login'); 
});

# Route that returns view directly using GET method
Route::view('/dashboard', 'dashboard');

# Route that returns view by passing some variables to view
Route::view('/welcome', 'welcome', ['name' => 'Sandip Patel']);
0

Tôi hy vọng bạn thích hướng dẫn này. Nếu có bất kỳ thắc mắc nào hãy bình luận hoặc chia sẻ yêu thương bằng cách nhấn vào trái tim bên dưới. Cảm ơn bạn

route() trong Laravel là gì?

Ràng buộc mô hình định tuyến Laravel cung cấp một cách thuận tiện để tự động đưa các phiên bản mô hình trực tiếp vào các tuyến đường của bạn . Ví dụ: thay vì thêm ID của người dùng, bạn có thể thêm toàn bộ phiên bản mô hình Người dùng khớp với ID đã cho.

Làm cách nào để gọi một tuyến đường trong Laravel?

Laravel gọi các tuyến có tên bên trong lệnh php artisan .
Nếu bạn định gọi một trong các tuyến laravel trong nội bộ, trước tiên bạn cần tạo một yêu cầu theo cách này. sử dụng Chiếu sáng\Http\Request;$request = Yêu cầu. tạo ('/ foo/bar', 'NHẬN');.
Sau đó xử lý yêu cầu của bạn thông qua ứng dụng(). $response = ứng dụng()->xử lý($request);

Làm cách nào để nhận giá trị tuyến đường trong Laravel?

Phương pháp 1. $request->route('parameter_name') . Một cách là sử dụng $request->route('parameter_name'). , trong đó tên_tham số đề cập đến cái mà chúng ta gọi là tham số trong tuyến đường.

Làm cách nào để định tuyến một trang trong Laravel?

Các route cơ bản nhất của Laravel chỉ chấp nhận một URI và một Closure. .
Lộ trình GET cơ bản. .
Các tuyến đường cơ bản khác. .
Đăng ký một lộ trình cho nhiều động từ. .
Đăng ký một tuyến đáp ứng với bất kỳ động từ HTTP nào. .
Chèn mã thông báo CSRF vào một biểu mẫu. .
Tham số tuyến đường cơ bản. .
Tham số tuyến đường tùy chọn. .
Tham số tuyến đường tùy chọn với giá trị mặc định