laravel 请求
本章讲解 laravel 中的请求的处理方法。
检索请求uri
该 路径 方法用于检索所请求的uri。该 is 方法用于检索其在该方法的参数指定的特定模式相匹配所请求的uri。要获得完整的url,我们可以使用 url 方法。
例
步骤1 - 执行以下命令以创建一个名为 uricontroller 的新控制器。
php artisan make:controller uricontroller –plain
第2步 - 成功执行url后,您将收到以下输出 -
第3步 - 创建控制器后,在该文件中添加以下代码。
应用程序/ http /控制器/ uricontroller.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 ' '; // usage of is method $pattern = $request->is('foo/*'); echo 'is method: '.$pattern; echo ' '; // 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中轻松检索。无论使用哪种方法 get 或 post ,laravel方法都会以相同的方式检索这两种方法的输入值。有两种方法可以检索输入值。
- 使用input()方法
- 使用request实例的属性
使用input()方法
input()方法接受一个参数,即表单中字段的名称。例如,如果表单包含用户名字段,那么我们可以通过以下方式访问它。
$name = $request->input('username');
使用request实例的属性
和 input() 方法一样,我们可以直接从request实例获取username属性。
$request->username
例
观察以下示例以了解有关请求的更多信息 -
第1步 - 创建一个注册表单,用户可以在这里注册自己并将表单存储在 resources / views / register.php中
<title>form example</title> <form action="/user/register" method="post"> <input type="hidden" name="_token" value="<?php echo csrf_token() ?>" /> <table class="ke-zeroborder"> <tbody><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> </tbody> </table> </form>
第2步 - 执行以下命令创建 userregistration 控制器。
php artisan make:controller userregistration --plain
第3步 - 成功执行上述步骤后,您将收到以下输出 -
第4步 - 复制下面的代码
app / http / controllers / userregistration.php 控制器。
应用程序/ http /控制器/ userregistration.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 ' '; //retrieve the username input field $username = $request->username; echo 'username: '.$username; echo ' '; //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步 - 输出结果如下图所示。