Laravel請求


檢索請求URI

「路徑」方法用於檢索請求的URI。「is」方法用於檢索在該方法的引數指定請求URI的模式匹配。要獲得完整的URL,我們可以使用「url」的方法。

範例

第1步- 執行以下命令來建立一個新的控制器 : UriController。
php artisan make:controller UriController
第2步 - URL成功執行後,您會得到以下輸出 -

第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;
   }
}
第4步 - 新增下面一行到 app/Http/route.php 檔案。

app/Http/route.php

Route::get('/foo/bar','UriController@index');
第5步 - 存取以下網址

http://localhost:8000/foo/bar

第6步 - 得到如下面的輸出結果。

檢索輸入

Laravel 很容易地檢索輸入值。 不管使用什麼方法:「get」或「post」,Laravel方法對於這兩種方法檢索的輸入值的方法是相同的。有兩種方法我們可以用來檢索輸入值。

  • 使用 input() 方法
  • 使用Request 範例的屬性

使用 input() 方法

input() 方法接受一個引數,在表單中的欄位的名稱。例如,如果表單中包含 username 欄位那麼可以通過以下方式進行存取。

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

使用Request 範例的屬性

就像 input() 方法,我們可以直接從請求(Request)範例獲取 username 屬性。
$request->username

範例

第1步 - 建立一個表單:Registration ,在這裡使用者可以註冊自己並儲存表單: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>名字:</td> <td><input type = "text" name = "name" /></td>
            </tr>
         
            <tr>
               <td>使用者名:</td> <td><input type = "text" name = "username" /></td>
            </tr>
         
            <tr>
               <td>密碼:</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>
第2步 - 執行下面的命令來建立一個控制器 - UserRegistration 。
php artisan make:controller UserRegistration
第3步 - 成功執行後,您會得到以下輸出-

第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;
   }
}
第5步- 新增下面一行到檔案 - app/Http/routes.php。

app/Http/routes.php

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

第6步 - 請存取以下網址,登錄檔單如下圖所示。輸入註冊資訊,然後點選"註冊",之後會看到檢索並顯示使用者註冊的詳細資訊在第二個頁面上。

http://localhost:8000/register

第7步- 輸出結果如下面圖所示。

填寫完上述資訊後,點選 " Register" 得到結果如下: