Laravel请求


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

检索请求URI

路径 方法用于检索所请求的URI。该 IS 方法用于检索其在该方法的参数指定的特定模式相匹配所请求的URI。要获得完整的URL,我们可以使用 url 方法。

步骤1 - 执行以下命令以创建一个名为 UriController 的新控制器。

php artisan make:controller UriController –plain

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

UriController

第3步 - 创建控制器后,在该文件中添加以下代码。

应用程序/ HTTP /控制器/ 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 文件中添加以下行。

应用程序/ HTTP / route.php

Route::get('/foo/bar','UriController@index');

第5步 - 访问以下URL。

http://localhost:8000/foo/bar

第6步 - 输出将如下图所示。

路径方法

检索输入

输入值可以在Laravel中轻松检索。无论使用哪种方法 getpost ,Laravel方法都会以相同的方式检索这两种方法的输入值。有两种方法可以检索输入值。

  • 使用input()方法
  • 使用Request实例的属性

使用input()方法

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

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

使用Request实例的属性

input() 方法一样,我们可以直接从request实例获取username属性。

$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步 - 成功执行上述步骤后,您将收到以下输出 -

用户注册

第4步 - 复制下面的代码

app / Http / Controllers / UserRegistration.php 控制器。

应用程序/ HTTP /控制器/ 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 文件中添加以下行。

应用程序/ 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步 - 输出结果如下图所示。

注册