Trong laravel, route là cách bạn xác định cách các yêu cầu của người dùng thông qua các URI. Nói cách khác, route kết nối một URL cụ thể với một hàm hoặc một hành động cụ thể trong ứng dụng của bạn. Routing là thành phần cốt lõi khi phát triển bất kỳ ứng dụng Laravel nào.
Có hai loại route chính trong Laravel:
Route cơ bản:
Route cơ bản kết nối một URL với một hàm hoặc một hành động trong ứng dụng Laravel của bạn. Route cơ bản thường được định nghĩa trong file routes/web.php
hoặc routes/api.php
, tùy thuộc vào loại route bạn muốn định nghĩa (route web hoặc route API).
Ví dụ: tạo trang about bằng route cơ bản trong routes/web.php
:
Route::get('/about', function () {
return 'Hello, World!';
});
Trong ví dụ này, khi bạn truy cập URL http://your-domain.com/about, Laravel sẽ gọi hàm callback và trả về chuỗi “Hello, World!”.
Route điều khiển (Controller Route):
Route điều khiển là một cách để kết nối một URL với một phương thức trên một controller. Điều này giúp tách biệt logic xử lý ra khỏi route và giữ cho code của bạn gọn gàng và dễ bảo trì hơn.
Ví dụ về một route điều khiển trong routes/web.php
:
Route::get('/about', 'HelloController@index');
Trong ví dụ này, khi bạn truy cập URL http://your-domain.com/about
, Laravel sẽ gọi phương thức index trên HelloController.
Nội dung trong file HelloController.php
:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class HelloController extends Controller
{
public function index()
{
return 'Hello, World!';
}
}
?>
Cú pháp
Route::get($uri, $callback);
Route::post($uri, $callback);
Route::put($uri, $callback);
Route::patch($uri, $callback);
Route::delete($uri, $callback);
Route::options($uri, $callback);
Trong đó:
$uri
: là đường dẫn tương đối trong ứng dụng$callback
: là lệnh xử lý
Trong ví dụ tạo trang about ở trên cùng, đó là Route::get
, uri='/about'
và callback là function trả về chuỗi “Hello, World!”.
Truyền tham số
Sẽ có những lúc chúng ta sẽ cần truyền tham số trên đường dẫn, chúng ta có thể viết route như sau:
Route::get('tong/{a}/{b}', function ($a, $b) {
return 'Hello, World! Sum='. ($a + $b) . '!!!!';
});
Nhập đường dẫn http://your-domain.com/tong/3/5
và xem kết quả.
Xem tiếp:
- Laravel: Xử lý HTTP request với Routing (2)
- Các bài viết về Laravel