Php 用户应该是Laravel中的资源吗?

Php 用户应该是Laravel中的资源吗?,php,authentication,laravel,laravel-routing,Php,Authentication,Laravel,Laravel Routing,在具有用户身份验证的Laravel应用程序中,用户应该是资源吗 Route::resource('user', 'UserController'); 如果是这样的话,处理身份验证的正确方法是什么?是否向UsersController添加登录和注销方法 现在,我有以下处理注册和身份验证过程的路由 Route::get('/login', ['as' => 'login', function () { return View::make('login'); }]); Route::

在具有用户身份验证的Laravel应用程序中,用户应该是资源吗

Route::resource('user', 'UserController');
如果是这样的话,处理身份验证的正确方法是什么?是否向UsersController添加登录和注销方法

现在,我有以下处理注册和身份验证过程的路由

Route::get('/login', ['as' => 'login', function () {
    return View::make('login');
}]);

Route::post('/login', 'AuthController@login');

Route::get('/register', ['as' => 'register', function () {
    return View::make('register');
}]);

Route::post('/register', 'AuthController@register');

将用户移动到资源路由并创建一些自定义操作似乎是合乎逻辑的。您将如何处理此问题,以及最佳做法是什么?

如何确定什么应该是资源

在确定什么应该是资源时,我通常参考我的数据库模型。您可以在中或等效文件中创建DB模型。如果您对实体关系有很好的理解,那么您在确定什么应该是或不应该是资源时应该没有问题

看看上面的图表…这是一个ER图表。在开始编写任何项目之前,请创建其中一个。如果没有基础的话,你就不会建造房子……在启动任何DB驱动的应用程序时都有很大的帮助。p> 蓝色方块是实体(表格),黄色椭圆是属性(表格中的列),红色菱形是关系


90%的情况下,您的实体(表)应该是资源,并具有与其关联的模型。然后在您的模型中定义您的关系,以实现雄辩的ORM。现在你已经把一切都安排好了。资源是任何需要具有CRUD功能的东西,通常适用于您的实体(表)。因为用户是一个实体……是的,它绝对应该是一个资源,并且在您的项目中有自己的模型。

如果应用程序足够小,那么是的,为用户创建一个资源控制器来处理CRUD。对于身份验证,只需将auth添加到“before”:哇,这太棒了@Rafael。我要把这个记下来。谢谢你的回答,雷菲尔。我熟悉实体/关系图,但没有考虑过这方面的资源。谢谢