Laravel – Request

Đường dẫn Request

Phương thức path() trả về thông tin đường dẫn request.

Phương thức is() kiểm tra xem đường dẫn request có khớp với pattern hay không.

Phương thức url() trả về đường dẫn đầy đủ của request.

Ví dụ

Step 1 : Chạy lệnh command dưới để tạo controller tên UriController.

php artisan make:controller UriController

Kết quả khi tạo thành công:

Step 2 : Thêm code như bên dưới vào controller vừa tạo.

app/Http/Controllers/UriController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class UriController extends Controller
{
    public function index(Request $request){
        // Usage of path method
        $path = $request->path();
        echo 'Path Method: '.$path;
        echo '<br>';

        // Usage of is method
        $pattern = $request->is('foo/*');
        echo 'is Method: '.$pattern;
        echo '<br>';

        // Usage of url method
        $url = $request->url();
        echo 'URL method: '.$url;
    }
}

Step 3 : Thêm dòng sau vào routes/web.php.

Route::get('/foo/bar','UriController@index');

Step 4 : Vào URL sau để xem kết quả.

http://localhost:8000/foo/bar

Nhận Input

Bạn có thể nhận giá trị input từ người dùng cả phương thức ‘get’ và ‘post’. Thông qua 2 cách sau:
Dùng phương thức input().
Dùng properties của đối tượng Request.

Dùng phương thức input()

Lấy giá trị của 1 tham số truyền vào, là tên của field trong form. Ví dụ, form đăng nhập có trường username thì ta có thể lấy giá trị người dùng nhập vào ô này qua code bên dưới.

$name = $request->input('username');

Dùng properties của đối tượng Request

Tương tự như phương thức input() bạn có thể lấy giá trị thông qua property của đối tượng Request.

$request->username

Ví dụ

Step 1 : Tạo View chứa form đăng ký người dùng. Có nội dung bên dưới và lưu lại thành resources/views/register.blade.php

<html>

   <head>
      <title>Form Example</title>
   </head>

   <body>
      <form action = "/user/register" method = "post">
            
            @csrf
      
         <table>
            <tr>
               <td>Name</td>
               <td><input type = "text" name = "name" /></td>
            </tr>
         
            <tr>
               <td>Username</td>
               <td><input type = "text" name = "username" /></td>
            </tr>
         
            <tr>
               <td>Password</td>
               <td><input type = "text" name = "password" /></td>
            </tr>
         
            <tr>
               <td colspan = "2" align = "center">
                  <input type = "submit" value = "Register" />
               </td>
            </tr>
         </table>
      
      </form>
   
   </body>
</html>

Step 2 : Tạo controller UserRegistration bằng lệnh command bên dưới.

php artisan make:controller UserRegistration

Step 3 : Thêm code như bên dưới vào controller UserRegistration vừa tạo.

app\Http\Controllers\UserRegistration.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class UserRegistration extends Controller
{
    public function postRegister(Request $request){
        //Retrieve the name input field
        $name = $request->input('name');
        echo 'Name: '.$name;
        echo '<br>';
       
        //Retrieve the username input field
        $username = $request->username;
        echo 'Username: '.$username;
        echo '<br>';
        
        //Retrieve the password input field
        $password = $request->password;
        echo 'Password: '.$password;
    }
}

Step 4 : Thêm đoạn dưới vào file routes/web.php.

Route::get('/register',function(){
   return view('register');
});
Route::post('/user/register',array('uses'=>'UserRegistration@postRegister'));

Step 5 : Vào đường đẫn http://localhost:8000/register nhập thông tin đăng ký. Nhấn Register.
Bạn nhận được kết quả như sau: