Laravel 请求
在这一章中,您将详细了解Laravel中的请求。
检索请求的URI
使用 “path” 方法来检索请求的URI。使用 is 方法来检索与方法参数中指定的特定模式匹配的请求的URI。要获取完整的URL,可以使用 url 方法。
示例
步骤1 - 执行以下命令来创建一个名为 UriController 的新控制器 。
php artisan make:controller UriController –plain
步骤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 methodpath = 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 methodurl = 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()方法接受一个参数,即表单中字段的名称。例如,如果表单包含用户名字段,则可以通过以下方式访问它。
$name = $request->input('username');
使用Request实例的属性
和 input() 方法一样,我们可以直接从request实例中获取username属性。
$request->username
示例
观察以下示例以了解有关Requests的更多信息−
步骤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 控制器。
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 fieldname = 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 fieldpassword = 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 − 输出结果将如下图所示。