网站PHP框架之Laravel5.5(六)resource controller资源控制器

在网站PHP框架之Laravel5.5(五)Controller控制器这篇文章中介绍了控制器的基本用法,非常便利。

但是一个项目中肯定会存在必不可少的CURD增删改查的逻辑,如果每一项功能都用一种HTTP请求的话,路由文件将会很难看。

Laravel针对这一块特地做了资源控制器。

在项目跟目录输入命令:

php artisan make:controller UserController --resource

创建名为UserController的控制器,控制器类型为资源控制器。

这时候我们可以看到:

网站PHP框架之Laravel5.5(六)resource controller资源控制器_第1张图片

UserController.php文件就为一个资源控制器文件,我们打开可以看到代码:

可以看出创建的资源控制器默认给我们了7个方法,我们稍加修改:

但是这样还没有完成哦,因为这是把控制器做好了,我们现在回到web.php文件,添加:

Route::resource('users','UserController');

就这样一行简单的路由代码,我们就成功的搞定了一系列的路由,毕竟路由都把责任推给了控制器了。

 我们可以用:

php artisan route:list

查看项目路由列表:

+--------+-----------+-------------------+---------------+---------------------------------------------+--------------+
| Domain | Method    | URI               | Name          | Action                                      | Middleware   |
+--------+-----------+-------------------+---------------+---------------------------------------------+--------------+
|        | GET|HEAD  | /                 |               | App\Http\Controllers\SiteController@index   | web          |
|        | GET|HEAD  | about             |               | App\Http\Controllers\SiteController@about   | web          |
|        | GET|HEAD  | api/user          |               | Closure                                     | api,auth:api |
|        | GET|HEAD  | users             | users.index   | App\Http\Controllers\UserController@index   | web          |
|        | POST      | users             | users.store   | App\Http\Controllers\UserController@store   | web          |
|        | GET|HEAD  | users/create      | users.create  | App\Http\Controllers\UserController@create  | web          |
|        | GET|HEAD  | users/{user}      | users.show    | App\Http\Controllers\UserController@show    | web          |
|        | PUT|PATCH | users/{user}      | users.update  | App\Http\Controllers\UserController@update  | web          |
|        | DELETE    | users/{user}      | users.destroy | App\Http\Controllers\UserController@destroy | web          |
|        | GET|HEAD  | users/{user}/edit | users.edit    | App\Http\Controllers\UserController@edit    | web          |
+--------+-----------+-------------------+---------------+---------------------------------------------+--------------+

现在我们就可以用Postman去测试连接:

网站PHP框架之Laravel5.5(六)resource controller资源控制器_第2张图片

接下来大家自行测试吧。

值得一提的是有些请求可能会出现419状态码,这是由于Laravel默认开启CSRF token安全验证。

这个问题解决方法就在app/Http/Middleware/VerifyCsrfToken.php这个文件里,

我们把protected $except = [ ]里面填上'*'。

protected $except = [
        '*'
    ];

 

 

系列文章:

网站PHP框架之Laravel系列文章

你可能感兴趣的:(Laravel,PHP,Laravel,PHP,Laravel资源控制器)