以下内容仅为核心流程讲解。
新建数据表并自动完善up和down的users方法。
php artisan make:migration create_table_users --create=users
route建立
app/http/route.php
访问路径和内容的定义
实行实例化方法:
Route::any('api/user',function()
{
$user = new App\User;
return $user->signup();
});
把稳:app/providers/AppServiceProvider.php 里可以注册作为工具的函数,然后在controller、model中调用。
model建立
php artisan make:model User
自动建立app/User.php
一样平常一个model就对应一张表,用App\User就能实例化。
注册方法建立
在php文件中User类中新增signup方法
use Request;
public function signup()
{
//dd(Request::all());
return 'signup!!';
}
把稳:调试可以利用dd()函数;
加密数据库bcrypt($password)
//判断数据库中是否存在该账户
$user_exists = $this ->where('username',$username)->exists();
//写入数据库
$user=$this;
$user->username=$username;
$user->password=$password;
if($user->save()){ return ['status'=>1 , 'id'=>$user->id]; }
登录方法建立
在php文件中User类中新增login方法
//判断用户名是否精确
$user=$this->where('username',$username)->first();
$hash_password=$user->password;
if (!Hash::check($password,$hash_password))
return ['status'=>0,'msg'=>'密码有误'];
把稳:config/session.php可配置session
然后login方法连续添加
session()->put('user_id',$user->id);
session()->put('username',$user->username);
//dd(session()->all);
return ['status'=>1,'user_id'=>$user->id];
登出方法
//判断是否登录
public function is_logged_in()
{
return session('user_id')?:false;
}
//退出,紧张对session操作
public function loginout()
{
session()->put('user_id',null);//赋值为null了
session()->forget('username');//扔掉了,常用
$username=session()->pull('username');//剪切了
//session()->flush();
}
一样平常系统都将session写成数组形式,嵌套可多层。
session()->set('persion.name','学点干货')