一、角色列表
1.1、创建一个资源控制器
创建资源控制器
php artisan make:controller Admin/RoleController -r
或者php artisan make:controller Admin/RoleController --resource
可以看到默认给我们生成了方法。 然后修改我们的控制权继承:
1.2、创建资源路由
// 资源路由 角色管理
Route::resource('role', 'RoleController');
我们输入php artisan route:list
可以查看路由列表:
可以看到路由别名name
不符合我们的写法。我们修改:
再次输入php artisan route:list
查看路由列表:
可以看到此时就符合我们的写法了。 还有中修改我们直接在路由分组那去更改:
再次输入php artisan route:list
查看路由列表:
可以看到符合我们的写法。 最后给出当前路由所有代码:
<?php
// 后台路由
// 路由分组
Route::group(['prefix' => 'admin', 'namespace' => 'Admin'], function () {
// 登录显示
Route::get('login', 'LoginController@index')->name('admin.login');
// 登录处理
Route::post('login', 'LoginController@login')->name('admin.login');
// 后台需要验证才能通过
Route::group(['middleware' => ['chadmin'], 'as' => 'admin.'], function () {
// 后台首页显示
Route::get('index', 'IndexController@index')->name('index');
// 欢迎界面路由
Route::get('welcome', 'IndexController@welcome')->name('welcome');
// 退出
Route::get('logout', 'IndexController@logout')->name('logout');
// 用户管理
// 用户列表
Route::get('user/index', 'UserController@index')->name('user.index');
// 用户添加页面显示路由
Route::get('user/add', 'UserController@add')->name('user.add');
// 用户添加操作
Route::post('user/add', 'UserController@create')->name('user.add');
// 用户删除操作
Route::get('user/del/{id}', 'UserController@del')->name('user.del');
// 删除还原
Route::get('user/restore/{id}', 'UserController@restore')->name('user.restore');
// 全选删除
Route::delete('user/delall', 'UserController@delall')->name('user.delall');
// 发送邮件
Route::get('user/email', function () {
\Mail::raw('测试一下发邮件', function (\Illuminate\Mail\Message $message) {
// 获取回调方法中的形参
dump(func_get_args());
// 发送谁
$message->to('136072944@qq.com', 'Justin');
// 主题
$message->subject('测试邮件');
});
}) -> name('email');
// 修改用户显示
Route::get('user/edit/{id}', 'UserController@edit') -> name('user.edit');
// 修改用户处理
Route::put('user/edit/{id}', 'UserController@update') -> name('user.edit');
// 资源路由 角色管理
Route::resource('role', 'RoleController');
});
});
1.3、创建模版
我们可以直接把resources\views\admin\user
复制一份改名为role
来进行修改:
修改模版代码: resources\views\admin\index\index.blade.php
:
resources\views\admin\role\index.blade.php
:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<meta name="renderer" content="webkit|ie-comp|ie-stand">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
<link rel="stylesheet" type="text/css" href="/admin/static/h-ui/css/H-ui.min.css" />
<link rel="stylesheet" type="text/css" href="/admin/static/h-ui.admin/css/H-ui.admin.css" />
<link rel="stylesheet" type="text/css" href="/admin/lib/Hui-iconfont/1.0.8/iconfont.css" />
<link rel="stylesheet" type="text/css" href="/admin/static/h-ui.admin/skin/default/skin.css" id="skin" />
<link rel="stylesheet" type="text/css" href="/admin/static/h-ui.admin/css/style.css" />
<link rel="stylesheet" href="{{asset('css/app.css')}}">
<style>
a {
color: #fff;
}
</style>
<title>角色管理</title>
</head>
<body>
<nav class="breadcrumb"><i class="Hui-iconfont"></i> 首页 <span class="c-gray en">></span> 用户中心 <span class="c-gray en">></span> 角色管理 <a class="btn btn-success radius r" style="line-height:1.6em;margin-top:3px" href="javascript:location.replace(location.href);" title="刷新"><i class="Hui-iconfont"></i></a></nav>
<!-- 消息提示 -->
@include('admin.common.msg')
<div class="page-container">
<form method="get" class="text-c"> 角色名称:
<input type="text" class="input-text" style="width:250px" placeholder="输入角色名称" id="" name="kw" autocomplete="off">
<button type="submit" class="btn btn-success radius" id="" name=""><i class="Hui-iconfont"></i> 搜角色</button>
</form>
<div class="cl pd-5 bg-1 bk-gray mt-20">
<span class="l">
<a href="{{route('admin.role.create')}}" class="btn btn-primary radius">
<!-- onclick="member_add('添加用户','member-add.html','','510')" -->
<i class="Hui-iconfont"></i> 添加角色
</a>
</span>
<span class="r">共有数据:<strong>{!!$data->total()!!}</strong> 条</span>
</div>
<div class="mt-20">
<table class="table table-border table-bordered table-hover table-bg table-sort">
<thead>
<tr class="text-c">
<th width="80">ID</th>
<th width="100">角色名称</th>
<th width="40">查看权限</th>
<th width="130">加入时间</th>
<th width="100">操作</th>
</tr>
</thead>
<tbody>
@foreach($data as $item)
<tr class="text-c">
<td>{{$item -> id}}</td>
<td>{{$item -> name}}</td>
<td>
<span class="label label-success radius">
<a href="#">权限</a>
</span>
</td>
<td>{{$item -> created_at}}</td>
<td class="td-manage">
<span class="label label-primary radius">
<a href="{{route('admin.role.edit', $item)}}">修改</a>
</span>
<span class="label label-danger radius">
<a href="{{route('admin.role.destroy', ['id' => $item -> id])}}">删除</a>
</span>
</td>
</tr>
@endforeach
</tbody>
</table>
<!-- 分页 -->
{{ $data -> links() }}
</div>
</div>
<!--_footer 作为公共模版分离出去-->
<script type="text/javascript" src="/admin/lib/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript" src="/admin/lib/layer/2.4/layer.js"></script>
<script type="text/javascript" src="/admin/static/h-ui/js/H-ui.min.js"></script>
<script type="text/javascript" src="/admin/static/h-ui.admin/js/H-ui.admin.js"></script>
<!--/_footer 作为公共模版分离出去-->
<!--请在下方写此页面业务相关的脚本-->
<script type="text/javascript" src="/admin/lib/My97DatePicker/4.8/WdatePicker.js"></script>
<script type="text/javascript" src="/admin/lib/datatables/1.10.15/jquery.dataTables.min.js"></script>
<script type="text/javascript" src="/admin/lib/laypage/1.2/laypage.js"></script>
<script type="text/javascript">
/*用户-删除*/
function member_del(obj, id) {
layer.confirm('确认要删除吗?', function(index) {
$.ajax({
type: 'POST',
url: '',
dataType: 'json',
success: function(data) {
$(obj).parents("tr").remove();
layer.msg('已删除!', {
icon: 1,
time: 1000
});
},
error: function(data) {
console.log(data.msg);
},
});
});
}
</script>
</body>
</html>
1.4、添加数据
通过navicat
直接添加两条数据:
1.5、效果
在学习的php的路上,如果你觉得本文对你有所帮助的话,那就请关注点赞评论三连吧,谢谢,你的肯定是我写博的另一个支持。