Laravel请求

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" 得到结果如下: