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 - ผลลัพธ์จะมีลักษณะดังที่แสดงไว้ด้านล่างภาพต่อไปนี้