Trong chương này, bạn sẽ tìm hiểu chi tiết về xử lý các Request trong Laravel.
Truy xuất URI Request
Phương thức “path” được sử dụng để truy xuất URI được yêu cầu. Phương thức is được sử dụng để truy xuất URI được yêu cầu khớp với mẫu cụ thể được chỉ định trong đối số của phương thức. Để lấy URL đầy đủ, chúng ta có thể sử dụng phương thức url .
Thí dụ
Bước 1 – Thực hiện lệnh bên dưới để tạo bộ điều khiển mới có tên là UriController .
php artisan make:controller UriController –plain
Bước 2 – Sau khi thực hiện thành công URL, bạn sẽ nhận được đầu ra sau –
Bước 3 – Sau khi tạo bộ điều khiển, hãy thêm đoạn mã sau vào tệp đó.
app/Http/Controllers/UriController.php
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Http\Requests; use App\Http\Controllers\Controller; 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; } }
Bước 4 – Thêm dòng sau vào tệp app/Http/route.php .
ứng dụng/Http/route.php
Route::get('/foo/bar','UriController@index');
Bước 5 – Truy cập URL sau.
http://localhost:8000/foo/bar
Bước 6 – Đầu ra sẽ xuất hiện như trong hình dưới đây.
Truy xuất đầu vào
Các giá trị đầu vào có thể dễ dàng truy xuất trong Laravel. Bất kể phương thức nào được sử dụng “get” hoặc “post” , phương thức Laravel sẽ truy xuất các giá trị đầu vào cho cả hai phương thức theo cùng một cách. Có hai cách chúng ta có thể truy xuất các giá trị đầu vào.
- Sử dụng phương thức input()
- Sử dụng các thuộc tính của Request instance
Sử dụng phương thức input()
Phương thức input() nhận một đối số, tên của trường trong biểu mẫu. Ví dụ: nếu biểu mẫu chứa trường tên người dùng thì chúng ta có thể truy cập nó bằng cách sau.
$name = $request->input('username');
Sử dụng các thuộc tính của Request instance
Giống như phương thức input() , chúng ta có thể lấy thuộc tính tên người dùng trực tiếp từ thể hiện yêu cầu.
$request->username
Thí dụ
Quan sát ví dụ sau để hiểu thêm về Requests –
Bước 1 – Tạo biểu mẫu Đăng ký, nơi người dùng có thể tự đăng ký và lưu trữ biểu mẫu tại resource/views/register.php
<html> <head> <title>Form Example</title> </head> <body> <form action = "/user/register" method = "post"> <input type = "hidden" name = "_token" value = "<?php echo csrf_token() ?>"> <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>
Bước 2 – Thực hiện lệnh bên dưới để tạo bộ điều khiển UserRegistration .
php artisan make:controller UserRegistration --plain
Bước 3 – Sau khi thực hiện thành công bước trên, bạn sẽ nhận được đầu ra sau –
Bước 4 – Sao chép đoạn mã sau vào
bộ điều khiển app/Http/Controllers/UserRegistration.php .
app/Http/Controllers/UserRegistration.php
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Http\Requests; use App\Http\Controllers\Controller; 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; } }
Bước 5 – Thêm dòng sau vào tệp app/Http/routes.php .
app/Http/routes.php
Route::get('/register',function() { return view('register'); }); Route::post('/user/register',array('uses'=>'UserRegistration@postRegister'));
Bước 6 – Truy cập URL sau và bạn sẽ thấy biểu mẫu đăng ký như trong hình bên dưới. Nhập chi tiết đăng ký và nhấp vào Đăng ký và bạn sẽ thấy trên trang thứ hai mà chúng tôi đã truy xuất và hiển thị chi tiết đăng ký người dùng.
http://localhost:8000/register
Bước 7 – Đầu ra sẽ trông giống như được hiển thị bên dưới các hình ảnh sau.