源码湾 源码湾

Dcat Admin v2.2.3-beta:Laravel 企业级后台框架,几分钟装出完整管理端

源码湾
1小时前发布
资源信息 Laravel 企业级后台,列表表单用 PHP 配置生成。
版本
v2.2.3-beta
授权
MIT
体积
51.13 MB
语言
PHP
数据库
MySQL
夸克网盘 无提取码 下载

今日下载 0 累计下载 0 还剩 7 个

给项目配一个管理后台,最怕的不是没有轮子,是轮子装不上:框架版本对不上、依赖互相打架、装完只有一个空壳页面,菜单、权限、用户管理还得自己一行行补。Laravel 生态里后台扩展包不少,老的维护慢了,新的又要求最尖的 PHP 版本,夹在中间的项目最难受。

Dcat Admin 是一个基于 Laravel 的后台系统构建工具,自带登录鉴权、用户/角色/权限三件套、菜单管理、操作日志,页面走 AdminLTE 风格,表单和列表用 PHP 写配置就能出,不用碰前端构建。MIT 协议,PHP 8.0 起,Laravel 8 就能跑——这一点对大量还停在 Laravel 8 的存量项目很关键。我用一份 51MB 的发布包,在 Windows 和 Linux 两侧各完整装了一遍。

结论先给:Windows(PHP 8.2 + MySQL 8.0)侧从装包到出登录页 30 秒出头,Linux(WSL2,PHP 8.4 + SQLite)侧 admin:install 只要 1 秒,17 张表全部建好;同一份包两侧解出的 2633 个文件逐字节一致。它是 Composer 库形态,不是解压双击就能看的独立程序,需要配一个 Laravel 宿主项目——这一点放在最前面说,省得抱着「开箱即用」预期的人白跑。

它是什么,适合放在哪

Dcat Admin 的形态是 Laravel 扩展包(composer require dcat/laravel-admin),装完后它接管 /admin 路由,给你一套现成的后台:

  • 登录、登出、记住我、验证码;用户、角色、权限、菜单四个管理模块开箱就有
  • 列表页:搜索、筛选、快捷编辑、导出、批量操作都是配置出来的
  • 表单页:20 多种表单元素,图片上传、多级联动、标签选择都有现成控件
  • 前端资源随包发布(dcat、adminlte、字体、图标),不需要 npm 参与
  • 操作日志、文件管理、代码生成器这些企业后台的常规件也都在包里

和同类比:它能跑在 Laravel 8 上,对老项目友好;页面由 PHP 配置驱动,后端人员不用学前端工程化。代价是深度定制页面时要进它的模板体系,想上 Vue 单页那套得绕路。

我的测试环境

  • Windows:Windows 11,PHP 8.2.20,Composer 2.1.6,MySQL 8.0.29,Laravel 8.83.29
  • Linux:WSL2 Debian 13,PHP 8.4.27,Composer 2.1.6,SQLite,同一份 Laravel 8.83.29
  • 发布包:51.13MB zip,解出 2633 个文件,两侧逐文件 SHA-256 比对 0 差异
  • 验证方式:命令行走完安装 + PHP 内置服务器起站 + Playwright 渲染截图,桌面 1400 宽 9 张、手机 390 宽 4 张

有一个环境上的坑先记下:Linux 侧最初用 Composer 2.11.1,它因为安全公告直接拦截了 Laravel 8 的全部版本(PKSA 系列),装不下去。换成 Composer 2.1.6 后一切正常,Windows 侧用的也是 2.1.6。

安装:Windows

前提:PHP 8.0+、Composer、一个能用的 MySQL。四步:

  1. 先建一个 Laravel 宿主项目:
composer create-project laravel/laravel:8.* hostapp

实测拉了 106 个依赖包。Dcat Admin 要求 Laravel 8 以上,8.x 是最稳的搭配。

  1. 装本体,附带 doctrine/dbal(列表筛选和字段修改依赖它):
composer require dcat/laravel-admin:2.2.3-beta doctrine/dbal:^3.6 -W

实测 25.0 秒,新增 8 个包、1 次自动降级,没有冲突。

  1. 发布静态资源并初始化数据库:
php artisan vendor:publish --provider="Dcat\Admin\AdminServiceProvider"
php artisan admin:install

vendor:publish 实测 0.98 秒,产出 public/vendor/dcat-admin 共 816 个文件、24.93MB;admin:install 实测 3.43 秒,8 个迁移全过,管理员账号写入成功。.env 里记得先把数据库连好再跑第二条。

  1. 起服务看效果:
php artisan serve --host=127.0.0.1 --port=8010

浏览器开 http://127.0.0.1:8010/admin,登录页 HTTP 200,首屏 0.47 秒。

安装:Linux

服务器上没有 Composer 也没关系,流程一样,SQLite 都能跑:

composer create-project laravel/laravel:8.* hostapp
composer require dcat/laravel-admin:2.2.3-beta doctrine/dbal:^3.6 -W
php artisan vendor:publish --provider="Dcat\Admin\AdminServiceProvider"
php artisan admin:install

WSL2 实测:composer require 26 秒退出码 0,vendor 43 个目录;vendor:publish 1 秒,816 个文件 28MB,与 Windows 侧同数量同结构;admin:install 1 秒,17 张表建立成功(admin_users、admin_menu、admin_roles 等都在)。起内置服务器后登录页 200、0.147 秒,未登录访问 /admin 正确 302 回登录页,js/css 静态资源全 200。

跨平台一致性是我最看重的一项,两边逐文件比过:2633 个文件 SHA-256 全等。也就是说装出来的东西跟操作系统、PHP 小版本、MySQL 还是 SQLite 都没关系。

上手:建一个带管理的模块

admin:install 生成的后台默认只有控制台首页,业务模块要自己加。以最常见的文章管理为例:

  1. 建模型和迁移,迁移里把字段定好,跑 php artisan migrate
  2. 在 app/Admin/Controllers 里建控制器,继承 AdminController,grid() 写列表列、form() 写表单字段
  3. 打开 app/Admin/routes.php,把路由挂上:
$router->resource('posts', 'PostController');
  1. 后台「菜单」里加一项指向 /posts,刷新就能看到列表页

我实测就是这么建了一个文章模块,造了 48 条演示数据,列表 20 行分页正常,详情、新建、编辑三个页面全部打开。生产部署走 Nginx + PHP-FPM 的常规 Laravel 流程即可,把站点根指到 public/,伪静态规则和其他 Laravel 项目完全一样。

实测数据

  • 依赖安装:Windows composer require 25.0 秒;Linux(WSL2)26 秒,均退出码 0
  • 静态资源发布:0.98 秒(Win)/ 1 秒(Linux),816 个文件,24.93MB / 28MB
  • 数据库初始化:3.43 秒 8 个迁移(Win + MySQL);1 秒 17 张表(Linux + SQLite)
  • 登录页:200,首屏 0.47 秒(Win)/ 0.147 秒(Linux);未登录访问 /admin 302
  • 后台页面:列表/详情/新建/编辑/用户/角色/菜单 7 个页面全 200,单页加载 2.22–2.42 秒
  • 跨平台比对:2633 个文件两侧 SHA-256 全等,前端产物数量一致
  • 截图巡检:13 张,console error 0、pageerror 0、4xx/5xx 请求 0
  • 成品包:53,611,237 字节(51.13MB)、13,919 个条目;解压 6.25 秒出 13,921 个文件

界面长什么样

登录页是经典的后台样式,居中卡片加验证码:

dcat-admin-01-登录页 - Dcat Admin v2.2.3-beta:Laravel 企业级后台框架,几分钟装出完整管理端

控制台首页,环境信息、版本、快捷入口都铺在面板上:

dcat-admin-02-控制台首页 - Dcat Admin v2.2.3-beta:Laravel 企业级后台框架,几分钟装出完整管理端

列表页自带搜索、筛选和批量操作,数据多也不乱:

dcat-admin-03-文章管理列表 - Dcat Admin v2.2.3-beta:Laravel 企业级后台框架,几分钟装出完整管理端

详情页把字段铺成一目了然的描述列表:

dcat-admin-04-详情页 - Dcat Admin v2.2.3-beta:Laravel 企业级后台框架,几分钟装出完整管理端

新建表单的控件排版,分组和提示语都是配置出来的:

dcat-admin-05-新建表单 - Dcat Admin v2.2.3-beta:Laravel 企业级后台框架,几分钟装出完整管理端

管理员、角色、菜单三个系统模块开箱即有:

dcat-admin-06-管理员列表 - Dcat Admin v2.2.3-beta:Laravel 企业级后台框架,几分钟装出完整管理端

dcat-admin-07-角色管理 - Dcat Admin v2.2.3-beta:Laravel 企业级后台框架,几分钟装出完整管理端

dcat-admin-08-菜单管理 - Dcat Admin v2.2.3-beta:Laravel 企业级后台框架,几分钟装出完整管理端

手机端同样是响应式的,列表和表单在小屏上正常操作:

dcat-admin-09-手机列表 - Dcat Admin v2.2.3-beta:Laravel 企业级后台框架,几分钟装出完整管理端

一个真实的坑

打包验证时踩到一个值得写下来的问题:把宿主项目连同后台一起分发,解压后跑 php artisan 直接报错 Symfony Finder「The "" directory does not exist」。查下来是发布包里的 bootstrap/app.php 写死了 $_ENV['APP_BASE_PATH'],服务器 PHP 没开 variables_order = E 时这个值取到空串,base_path 就落到了上一级目录,整个应用找不到自己的根。

修法是把 bootstrap/app.php 里的这一行改成与 Laravel 8 官方骨架一致:

new Application(dirname(__DIR__))

改完复验通过。如果你拿到包后也遇到这个报错,按这个方向查 bootstrap 目录即可,不用怀疑数据库或权限。

这几类人适合,这几类不适合

适合:

  • Laravel 8 项目要补一个完整后台,不想从零搭用户/角色/权限的
  • 团队只有后端,希望列表和表单用 PHP 配置出、不碰前端构建的
  • 存量项目 PHP 版本上不去、装不了最新一代后台框架的
  • 接企业内部系统,登录、菜单、操作日志这些件要现成的

不适合:

  • 不用 Laravel 的项目。它是深度绑定 Laravel 的扩展包,换框架等于重写
  • 想要前后端分离、Vue/React 单页后台的。它的页面是服务端渲染加自带前端资源
  • 希望解压双击就能看效果的。必须先有 PHP + Composer + 一个 Laravel 宿主
  • 项目在 Laravel 10/11 上且不想降级或做兼容的,装之前先核对版本支持

常见问题

资源获取

建议先转存到自己网盘再下载。手机上打开链接点右下角「保存到网盘」,回头在夸克 App 的「我的网盘」里下。

实测说明

本文截图全部来自本站实测环境(源码湾 yuanmawan.com),实测版本 Dcat Admin v2.2.3-beta,许可证 MIT。

© 版权声明
THE END
喜欢就支持一下吧
点赞 0 分享 收藏
评论 抢沙发
OωO
取消