Laravel教程:处理检索请求url
检索请求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" 得到结果如下:

THE END