前言
由于项目的多样性,可能laravel-admin自带的表结构及其他的一些功能有所不足,此时就需要定制化开发。目前我能想到的在保留大部分laravel-admin
框架功能前提下,采取的定制化方式有两种:
- 直接修改框架源代码以完成自定义功能
- 通过配置项修改(包括路由,配置文件等)
在保持composer,git管理laravel-admin情况下,又要保持与官方版本一致,显然第二种更合适。下文都是以第二种方式展开,主要工作是:
- 修改
admin/auth/users
路由控制器 - 修改
admin_users
表结构
环境
框架/插件 | 版本 |
---|---|
laravel | 6.20 |
encore/laravel-admin | 1.8.11 |
默认基础环境以搭建完成,如有不清楚的可以移步框架搭建,以下以完成安装能正常使用后台包括权限系统为前提。
自定义路由
-
默认路由文件:
app/Admin/routes.php
<?php use Illuminate\Routing\Router; //此为默认权限控制模块路由以及其他操作路由 Admin::routes(); //此为后台路由组 Route::group([ 'prefix' => config('admin.route.prefix'), 'namespace' => config('admin.route.namespace'), 'middleware' => config('admin.route.middleware'), 'as' => config('admin.route.prefix') . '.', ], function (Router $router) { $router->get('/', 'HomeController@index')->name('home'); });
-
查看路由文件
主要查看上文中
Admin::routes()
这个路由配置,其实此时调用的是Admin
这个Facade 中的routes()
方法,查看源码可知这个Facade代码位置:vendor/encore/laravel-admin/src/Facades/Admin.php
<?php namespace Encore\Admin\Facades; use Illuminate\Support\Facades\Facade; class Admin extends Facade { protected static function getFacadeAccessor(