网站首页 > 技术文章 正文
以下内容仅为核心流程讲解。
新建数据表并自动完善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','学点干货')
猜你喜欢
- 2024-09-15 laravel 使用 mongodb(laravel 使用gmail邮箱发送验证码)
- 2024-09-15 Laravel的这10个用法,你都没用过吧
- 2024-09-15 PHP Laravel框架用户权限管理,按钮级别控制(详细)
- 2024-09-15 3分钟短文:太爽了,用Laravel写API接口
- 2024-09-15 Laravel5.8简明教程(laravel-admin)
- 2024-09-15 3分钟短文:Laravel请求对象方法极多,可不是花拳绣腿
- 2024-09-15 Laravel 5中如何添加Form功能(laravel 伪静态)
- 2024-09-15 告别 $arr[0]: PHP 和 Laravel 中更优雅的数组处理方式
- 2024-09-15 Laravel + Serverless Framework 快速创建 CMS 内容管理系统
- 2024-09-15 3分钟短文:Laravel模型创建数据条目的2个语法糖
- 最近发表
- 标签列表
-
- cmd/c (90)
- c++中::是什么意思 (84)
- 标签用于 (71)
- 主键只能有一个吗 (77)
- c#console.writeline不显示 (95)
- pythoncase语句 (88)
- es6includes (74)
- sqlset (76)
- apt-getinstall-y (100)
- node_modules怎么生成 (87)
- chromepost (71)
- flexdirection (73)
- c++int转char (80)
- mysqlany_value (79)
- static函数和普通函数 (84)
- el-date-picker开始日期早于结束日期 (76)
- js判断是否是json字符串 (75)
- c语言min函数头文件 (77)
- asynccallback (87)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- 无效的列索引 (74)