Route::Basic

Basic Routing

Các routes cơ bản của Laravel chấp nhận một URI và một Closure, nó cung cấp một phương thức rất đơn giản và dễ hiểu để định nghĩa routes như sau:

Route::get('foo', function () {
  return 'Hello World';
});

 
The Default Route Files
Tất cả các routes của Laravel được định nghĩa trong file route được đặt trong thư mục routes. Những files này được tự động load bởi framework. routes/web.php định nghĩa các routes cho ứng dụng web của bạn. Các routes này được gán cho nhóm web middleware, nhóm này sẽ cung cấp các tính năng như sesion stateCSRF protection. Các routes trong file routes/api.phpstateless - không có trạng thái và được gán cho nhóm api middleware

Hầu hết các ứng dụng, bạn sẽ bắt đầu bằng việc định nghĩa routes trong file routes/web.php. Routes được định nghĩa trong file routes/web.php có thể được truy cập bằng URL trên trình duyệt. Ví dụ, bạn có thể truy cập route tới http://your-app.test/user trên trình duyệt như sau:

Route::get('/user', 'UserController@index');

Routes được định nghĩa trong file routes/api.php được lồng trong một route group bởi RouteServiceProvider. Trong group này, /api URI prefix tự động được thêm vào, vì thế bạn không cần thêm nó một các thủ công cho mỗi route trong file. Bạn có thể chỉnh sửa prefix và các tùy chỉnh của route group bằng cách chỉnh sửa lớp RouteServiceProvider.
 
Available Router Methods
Router cho phép bạn đăng ký các routes trả về từ bất kì giao thức HTTP nào:

Route::get($uri, $callback);
Route::post($uri, $callback);
Route::put($uri, $callback);
Route::patch($uri, $callback);
Route::delete($uri, $callback);
Route::options($uri, $callback);

Đôi khi bạn cần đăng ký một route chấp nhận nhiều giao thức HTTP. Trường hợp này bạn có thể sử dụng phương thức match. Hoặc bạn thậm chí có thể đăng ký một route cho phép nhận response từ tất cả các giao thức HTTP bằng cách sử dụng phương thức any:

Route::match(['get', 'post'], '/', function () {
    //
});

Route::any('foo', function () {
    //
});

 
CSRF Protection
Bất kì giao thức POST, PUT, DELETE nào được gửi qua web route sẽ phải kèm theo một csrf token. Nếu không request này sẽ bị từ chối.

<form method="POST" action="/profile">
    @csrf
    ...
</form>

Redirect Routes
Nếu bạn muốn chuyển hướng tới một URI khác, bạn có thể sử dụng Route::redirect. Sử dụng phương thức này bạn không cần phải định nghĩa một route đầy đủ hoặc một controller để thực thi redirect đơn giản:

Route::redirect('/here', '/there', 301);

 
View Routes
Nếu route của bạn chỉ trả về một view, bạn có thể sử dụng phương thức Route::view. Tương tự như phương thức redirect, phương thức này trả về một view mà bạn không cần phải định nghĩa một route ddầy đủ hoặc một controller. Tham số đầu tiên của phương thức này là một URI, tham số thứ 2 là tên view. Ngoài ra bạn có thể truyền một mảng dữ liệu để hiển thị trên view:

Route::view('/welcome', 'welcome');

Route::view('/welcome', 'welcome', ['name' => 'Taylor']);

 
Phần 2

Leave a Reply

Your email address will not be published. Required fields are marked *