微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

示例详解Laravel的注册重构

1. 首先确定用户注册的路由

我们在安装好laravel的时候生成注册是用邮箱进行注册的,并且有些选项不需要,有些还需要加一些表单选项

我们注册的话,并不是可以随便注册的,只有一些超级管理员才能进行注册

首先我们使用上次创建的UserController进行配置,如果没有的话,可以使用PHP artisan make:controller UserController创建一个控制器类

然后创建两条路由Route::get('register','UserController@getRegister')Route::post('register','UserController@postRegister')

前者是显示一个注册页面get请求,后面是注册账号的post请求。

2. 显示注册账号页面

这个使用的是getRegister这个方法,这个方法只需要显示一个视图所以并没有特别的逻辑

rush:PHP;"> public function getRegister() { return view('auth.register'); }

3. 请求注册账号

这个使用的是postRegister这个方法

注册账号的话和重置密码一样,而且比注册账号还要简单点。

我们在往数据库里插入一条用户纪录的时候,可以使用User::create($data)进行插入。

$data是个数组,里面存放了每个字段的键和值

'required|unique:finance_enewsuser','password' => 'required|between:6,20|confirmed' ]; $messages = [ 'required'=>':attribute不能为空','unique'=>'用户名已被注册','between' => '密码必须是6~20位之间','confirmed' => '新密码和确认密码不匹配' ]; $username = $request->input('username'); $password = $request->input('password'); $group = $request->input('group'); $data = $request->all(); $validator = Validator::make($data,$rules,$messages); if ($validator->fails()) { return back()->withErrors($validator); } $data = [ 'username' => $username,'password' => bcrypt($password),'groupid' => $group,'checked' => 0,'styleid' => 1,'filelevel' => 0,'loginnum' => 0,'lasttime' => time(),'lastip' => '127.0.0.1','truename' => '','email' => '','pretime' => time(),'preip' => '127.0.0.1',]; User::create($data); //插入一条新纪录,并返回保存后的模型实例 //如果注册后还想立即登录的话,可以使用$user = User::create($data); Auth::login($user); 进行认证 return redirect('/'); }

4. 完成后的示例

UserController

public function postRegister(Request $request)
{
$rules = [
'username'=>'required|unique:finance_enewsuser',$messages);
if ($validator->fails()) {
return back()->withErrors($validator);
}
$data = [
'username' => $username,];
User::create($data); //插入一条新纪录,并返回保存后的模型实例
return redirect('/');
}

register.blade

rush:PHP;">