Laravel - Request

在本章中,您将详细了解Laravel中的请求.

检索请求URI

"路径" 方法用于检索请求的URI. 方法用于检索所请求的URI,该URI与方法参数中指定的特定模式匹配.要获取完整的网址,我们可以使用网址方法.

示例

第1步 : 执行以下命令创建一个名为 UriController 的新控制器.

php artisan make:controller UriController –plain

第2步 : 成功执行URL后,您将收到以下输出 :

UriController

第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()方法

输入() 方法接受一个参数,即表单中字段的名称.例如,如果表单包含用户名字段,那么我们可以通过以下方式访问它.

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

使用Request实例的属性

input()方法一样,我们可以直接从请求实例获取用户名属性.

$ request-> username

示例

观察以下示例以了解有关请求的更多信息;

步骤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>

第2步 : 执行以下命令创建 UserRegistration 控制器.

php artisan make:controller UserRegistration --plain

第3步 : 成功执行上述步骤后,您将收到以下输出 :

UserRegistration

第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步 : 访问以下URL,您将看到注册表单,如下图所示.输入注册详细信息,然后单击注册,您将在第二页上看到我们已检索并显示用户注册详细信息.

http://localhost:8000/register

第7步 : 输出看起来如下图所示.

Registration