Laravel - คำขอ
ในบทนี้คุณจะได้เรียนรู้โดยละเอียดเกี่ยวกับคำขอใน Laravel
การดึง URI คำขอ
“path”วิธีการใช้เพื่อดึง URI ที่ร้องขอ isวิธีการใช้เพื่อดึง URI ที่ร้องขอซึ่งตรงกับรูปแบบเฉพาะที่ระบุในอาร์กิวเมนต์ของวิธีการ ในการรับ URL แบบเต็มเราสามารถใช้ไฟล์url วิธี.
ตัวอย่าง
Step 1 - ดำเนินการคำสั่งด้านล่างเพื่อสร้างคอนโทรลเลอร์ใหม่ที่เรียกว่า UriController.
php artisan make:controller UriController –plain
Step 2 - หลังจากดำเนินการ URL สำเร็จคุณจะได้รับผลลัพธ์ต่อไปนี้ -
Step 3 - หลังจากสร้างคอนโทรลเลอร์แล้วให้เพิ่มโค้ดต่อไปนี้ในไฟล์นั้น
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;
}
}
Step 4 - เพิ่มบรรทัดต่อไปนี้ในไฟล์ app/Http/route.php ไฟล์.
app/Http/route.php
Route::get('/foo/bar','UriController@index');
Step 5 - ไปที่ URL ต่อไปนี้
http://localhost:8000/foo/bar
Step 6 - ผลลัพธ์จะปรากฏดังที่แสดงในภาพต่อไปนี้
กำลังดึงข้อมูลเข้า
สามารถดึงค่าอินพุตได้อย่างง่ายดายใน Laravel ไม่ว่าจะใช้วิธีใดก็ตาม“get” หรือ “post”วิธีการ Laravel จะดึงค่าอินพุตสำหรับทั้งสองวิธีด้วยวิธีเดียวกัน มีสองวิธีที่เราสามารถดึงค่าอินพุตได้
- ใช้วิธีการป้อนข้อมูล ()
- การใช้คุณสมบัติของอินสแตนซ์คำขอ
ใช้วิธีการป้อนข้อมูล ()
input()method ใช้อาร์กิวเมนต์หนึ่งชื่อของฟิลด์ในรูปแบบ ตัวอย่างเช่นหากแบบฟอร์มมีช่องชื่อผู้ใช้เราสามารถเข้าถึงได้โดยวิธีต่อไปนี้
$name = $request->input('username');
การใช้คุณสมบัติของอินสแตนซ์คำขอ
ชอบ input() วิธีการเราสามารถรับคุณสมบัติชื่อผู้ใช้โดยตรงจากอินสแตนซ์คำขอ
$request->username
ตัวอย่าง
ดูตัวอย่างต่อไปนี้เพื่อทำความเข้าใจเพิ่มเติมเกี่ยวกับคำขอ -
Step 1 - สร้างแบบฟอร์มการลงทะเบียนโดยผู้ใช้สามารถลงทะเบียนด้วยตนเองและจัดเก็บแบบฟอร์มได้ที่ resources/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>
Step 2 - ดำเนินการคำสั่งด้านล่างเพื่อสร้างไฟล์ UserRegistration ตัวควบคุม
php artisan make:controller UserRegistration --plain
Step 3 - หลังจากดำเนินการตามขั้นตอนข้างต้นสำเร็จคุณจะได้รับผลลัพธ์ต่อไปนี้ -
Step 4 - คัดลอกรหัสต่อไปนี้ในรูปแบบ
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;
}
}
Step 5 - เพิ่มบรรทัดต่อไปนี้ใน app/Http/routes.php ไฟล์.
app/Http/routes.php
Route::get('/register',function() {
return view('register');
});
Route::post('/user/register',array('uses'=>'UserRegistration@postRegister'));
Step 6- ไปที่ URL ต่อไปนี้และคุณจะเห็นแบบฟอร์มการลงทะเบียนดังแสดงในรูปด้านล่าง พิมพ์รายละเอียดการลงทะเบียนและคลิกลงทะเบียนจากนั้นคุณจะเห็นในหน้าที่สองที่เราได้ดึงข้อมูลและแสดงรายละเอียดการลงทะเบียนผู้ใช้
http://localhost:8000/register
Step 7 - ผลลัพธ์จะมีลักษณะดังที่แสดงไว้ด้านล่างภาพต่อไปนี้