好客租房_01
今日目标9
能够使用composer创建项目
能够实现git管理源代码
能够设计管理员表
能够使用faker生成管理员测试数据
能够实现登录功能
了解laravel发送邮件配置
能够实现中间件验证用户是否登录
//注册执行
public function added(Request $request){
//接收数据
$data['username'] = $request ->input('username');
$data['password'] = $request ->input('password');
$data['password'] = bcrypt($data['password']);
$res = login::insert($data);
\Mail::raw('测试发邮件',function (\Illuminate\Mail\Message $message){
$message->to('402437420@qq.com','lly');
$message->subject('注册成功邮件通知');
});
if ($res){
return '注册成功';
}
return '失败';
}
能够实现退出功能
能够管理员表的增删改查功能
一、项目概述
1.1、项目背景
好客租房系统为了方便出租者及时的发布租房信息和租房者及时获得一手房源,通过实名认证两方信息,解决房屋租赁过程中虚假房源泛滥、黑中介横行、租客和房东之间缺乏信任问题。同时平台通过房东直租,减少中间环节产生的费用,提高房东与租户匹配的成功率。
1.2、知识点
后台系统基于PHP7.x+Laravel5.x构建
引入Swoole异步网络通信引擎
采用RestFulapi接口通信
引入vuejs数据显示解决方案
使用Redis缓存和消息队列服务
接入地图开放平台服务
引入echarts可视化数据图形
引入ES解决方案实现高速检索
使用版本控制进行源代码管理
实现发送邮件
导出excel功能
异步头像上传
富文本添加与展示
二、安装与运行项目
2.1、安装laravel项目
安装laravel
composer create-project --prefer-dist laravel/laravel www.zfw.com
安装phpstorm开发插件
composer require barryvdh/laravel-ide-helper
安装laravel框架


安装插件


执行此命令

到此phpstorm就更加友好的支付laravel开发.
2.2、运行项目
2.2.1、配置虚拟主机与绑定hosts文件
使用apache做为本机开发运行laravel项目的web服务器
<VirtualHost *:80>
# 设置网站目录
DocumentRoot "F:\www\class\web\www.zfw.com\public"
# 设置网站域名
ServerName www.zfw.com
# 一定要设置日志,日志可以访问我们进行系统统计
# 日志是目录不会自动创建需要手动创建,文件是会自动创建
# 错误日志
ErrorLog "F:\www\class\web\www.zfw.com\logs\error.log"
# 成功日志
CustomLog "F:\www\class\web\www.zfw.com\logs\access.log" combined
# 设置目录访问权限
<Directory "F:\www\class\web\www.zfw.com\public">
# 指定目录启用特性
Options Indexes FollowSymLinks
# 是否允许使用.htaccess文件
AllowOverride All
# 访问目录权限 apache2.4
Require all granted
</Directory>
</VirtualHost>

hosts绑定下

一定要重启web服务器,使其配置生效

2.2.2、配置数据库连接
在项目.env文件中进行相对应的配置设置
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=wwwzfwcom
DB_USERNAME=root
DB_PASSWORD=root
DB_PREFIX=zfw_
第1步:新建数据库

第2步:配置laravel中连接数据库配置


2.2.3、本地化配置
配置config/app.php文件进行时区、faker和验证本地化配置
# 时区
'timezone' => 'PRC',
# 验证提示中文
'locale' => 'zh-CN',
# faker中文
'faker_locale' => 'zh_CN',
时区

验证中文
https://github.com/caouecs/Laravel-lang/tree/master/src


faker本地化

2.2.4、删除默认文件或目录





三、后台登录
命令提示
3.1、管理员表设计
创建生成模型和迁移文件
php artisan make:model Models/User -m
执行迁移文件
表
3.2、faker批量添加用户
创建用户的数据填充文件
php artisan make:seeder UserSeeder
修改模型
生成一个数据工厂
php artisan make:factory UserFactory -m Models/User
数据填充文件修改
修改总调用
执行填充
php artisan db:seed
注:迁移文件中字段可能设置有点短,可能填充不成功,此时,就需要修改一下数据字段长度,然后执行
php artisan migrate:refresh --seed
3.3、实现登录
使用laravel提供一个登录方法 auth()登录
// 登录 返回true 或 false
auth()->attempt([数组 账号和密码]);
// 检查是否登录 true/false
auth()->check();
// 登录成功得到用户信息
auth()->user() // 用户模型
修改用户模型的父类

配置config/auth.php文件

3.3.1、登录界面显示
让路由定义分层
分层定义后台的路由文件

在routes/web.php路由文件中引入自定义分层的路由文件

创建控制器和对应的方法
定义模板

模板


3.3.2、实现登录
表单验证

前台的显示
让验证提示独立出来

在想要显示的模板页面中引入 @include

效果

实现登录PHP代码编写

注:账号和密码的字段名一定要用 username和password 用auth方法来登录
四、后台首页
4.1、后台首页展示
创建后台控制器和对应的模板
后台首页显示控制器
定义后台首页显示的路由
模板
效果
修改登录代码


4.2、用户退出
退出就是清空session的过程
auth()->logout();
定义退出路由

在后台首页控制器中实现退出

定义消息提示的模板

在登录界面中引入消息提示

效果

一、中间件防用户翻墙
中间件为过滤进入应用程序的 HTTP 请求提供了一种方便的机制。
中间件就是路由和控制器之间的中间人
创建中间件
php artisan make:middleware 中间件名称
```
创建成功的中间件文件所在位置:

注册中间件
全局中间件
路由中间件
全局中间件,一但注册,所有的请求都将生效

路由中间件

绑定路由中间件
绑到指定的路由

给路由分组绑定

在控制器中绑定

中间件传参

获取中间件传过来参数

实现后台用户防翻墙

二、管理员管理
2.1、用户列表展示
创建控制器
php artisan make:controller Admin/UserController

定义用户列表路由

创建基础控制器,定义分页数量

用户控制器

在config目录手动创建一个page.php文件

模板

效果

2.2、添加用户
定义添加用户的路由
定义一个用于模板继承的模板
前端验证,使用jquery.validate插件来验证
https://www.runoob.com/jquery/jquery-plugin-validate.html
此插件依赖与jquery,先引入jquery
再次引入如下文件
效果
自定义验证规则,定义一个验证手机号码是否合法
统一定义自定义规则的提示信息
提示字段名的设置
在控制器中实现表单验证

2.3、删除用户
在模板中实现不能自己删除自己的按钮出现
定义删除的路由
前端代码模板编写
软删除
第1条件:表中必须有一个软删除标识字段
第2条件:模型中引入对就的操作 (trait) 实现多继承
第3条件:模型中指定软删除的标识字段
到此原来的delete删除就变成了软删除,不会删除真实数据
效果
2.4、恢复用户
列表中显示所有的用户包括已删除用户
定义还原路由
控制器中实现还原
2.5、全选删除
定义全选删除的路由
在控制器中实现全选删除
模板编写js
2.6、给新用户发送邮件
phpmailer 也是一种解决发送类,当然laravel自带就能发邮件的类
给刚刚添加成功的用户发送一封邮件
邮件发送类 Mail 类
文本
静态方法 raw();
富文本
静态方法 send()
实现发送邮件,必须一个发送邮件的账号,需要开启stmp协议,现在主流的邮件服务器都是支持,stmp默认端口25,但是它们默认没有打开,需要使用时,自行打开。
以QQ邮箱为例: https://mail.qq.com
得到相关的配置信息
https://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=371
配置laravel发送邮件配置
发送文本邮件
发送富文本邮件
模板
效果
在添加新用户控制器中实现邮件发送
2.7、修改用户信息
定义路由
控制器中实现用户修改
模板
效果
三、RBAC
RBAC: role base access control 基于角色的用户访问权限控制权限,就是权限分配给角色,角色又分配给用户。
即一个用户对应一个角色,一个角色对应多个权限
3.1、角色与权限表的设计
3.2、权限管理
3.2.1、权限列表
3.2.2、添加权限
3.2.3、修改权限
3.2.4、删除权限
3.3、角色管理
3.3.1、角色列表
3.3.2、角色添加
3.3.3、修改角色
本文档详细介绍了如何使用laravel框架搭建后台系统,包括安装laravel、配置开发环境,设计并填充管理员表,实现登录、退出功能,并通过中间件验证用户登录状态。还涉及了faker生成测试数据、邮件发送、数据库配置和本地化设置。
1446

被折叠的 条评论
为什么被折叠?



