推荐超好用的 6 款 Laravel Admin 管理模版

首发于

如果您正在为您的企业调研开发 Admin 管理后台的最佳方案,那么基于 PHP 的 Laravel 框架会是一个不错的选择,它灵活且易用,还提供了一系列开发规范和组件加速我们的开发。而在这篇文章中,码匠将为您介绍几款专门基于 Laravel 打造的美观且常用的 Admin 管理后台模板,这些模板提供了很多开箱即用的功能,不仅确保您可以轻松启动并运行一个 Admin 后台,还为您节省了大量开发时间。

Laravel Admin 管理后台模板的不同类型

在搜索引擎中粗略搜索,你会得到大概 20多种 Laravel Admin 模板的选项,尽管它们表面上看起来很相似,但实际上在用途和架构存在着很大差异。在码匠为大家介绍一些受欢迎选项的具体功能前,让我们先了解 Laravel Admin 模板五个不同的种类,以便结合自身需求更好地做出判断:

脚手架主要是通过程序,自动化地创建启动和运行所需的文件和配置来生成 Laravel 样板。例如,假设您想为您的活动业务创建一个管理后台,主要涉及的领域实体为事件、发言人和与会者,脚手架软件包不仅可以自动为每个实体生成模型、控制器、路由、视图等,还包括了 CRUD 操作,这将为您节省乏味又重复地手动创建这些样板的时间。但是,脚手架只能在开始一个项目时才有用,如果您在初始设计中犯了错误,后续则很难进行更改和调整。脚手架软件包的一个例子可以参考 InfyOm Laravel Generator。

Laravel 开发准备之安装脚手架

Laravel 框架遵循 MVC(模型-视图-控制器)模式,提供 CRUD 接口是 Laravel Admin 模板的一种流行架构方法。这些是视图和控制器的集合,可以自动添加 CRUD 逻辑和 UI 到现有的模型中。这种结构提供了一种快速获得模块化管理后台的方法,它可以轻松地添加到一个新的应用程序中,或改装到一个现有的应用程序中。一些流行的支持该功能的 Laravel 管理模板包括 Nova、Backpack 和 Orchid 等。

但缺点是,如果您业务上有着复杂的模型关系,可能很难让它按照您的要求来工作。

一个可视化的编程平台能够允许您单纯从一个图形用户界面 (GUI) 来管理您的站点,这有点像 CMS,但可以添加更详细的站点配置。

当您的团队有非开发人员时,一个可视化的编程平台会是一个不错的选择,但这些软件包通常局限在通用功能上。这种类型的后台模板的例子是 Voyager 和 Backpack DevTools。

一些管理后台模板只关注用户界面,即组件库、主题等等,例如 Creative Tim 的 Argon 管理模板 不提供任何 CRUD 接口或生成器,但提供很多对管理应用程序有帮助的详细的前端组件——如表格、图表、菜单等。

如果您的应用程序已经有了一套完善的后端逻辑,或者后端逻辑希望自己编写,那么这种类型的工具就会很有用。

管理后台模板的另一个不同之处在于它们是付费的还是免费(开源)的,免费的固然是大家所倾向的,但付费软件往往提供更强大的业务模型与客服支持。

如果您的目标是开发一个既能省钱又能省时的工具,那么花少量的钱买一个付费项目可能更适合。如果不希望花钱,那么找一个开源并且有着更活跃的社区的模板是一个更好的选择。

码匠

在您深入了解多种 Laravel Admin 模板之前,不妨先了解下码匠,码匠是一款开发者友好的低代码平台,您无需了解 React 开发、部署等各种细节,就可以快速打通前后端连接 REST API、MySQL、MongoDB 等多种数据源,然后通过一套开箱即用的组件,就可以轻松搭建功能完善的数据看板、数据洞察、Admin 管理后台等多种应用。

使用码匠快速搭建 CRM 系统(具体可参考:https://majiang.co/templates/mysql-crm)

码匠主要面向国内用户,相较于国外开发的 Admin 后台工具,码匠的 UI 界面设计更加适合国内业务场景。同时码匠整合了多款国内常见数据源,包括飞书、企业微信、钉钉、阿里云 OSS等。不仅如此,码匠还一站式提供了企业内部系统常用的租户管理、细粒度的权限控制、审计日志等功能,让您快速搭建后台应用的同时,也为您的企业信息安全保驾护航。

Laravel Admin 管理后台模板推荐

了解了区分 Laravel 管理后台模板的一些主要因素后,码匠将具体介绍和比较 Laravel 中一些流行的软件包:Nova、Orchid、Backpack、Argon 和 InfyOm Laravel Generator,以便您更好地了解 Laravel Admin 模板并选择出一款适合您的项目。

Laravel 官方提供的 Admin 管理模板是 Nova,它主要是由 Laravel 的作者 Taylor Otwell 创建的。它的首次发布是在 2018 年,相对来说较晚。Nova 的架构是一个CRUD 界面,只需很少的配置就能允许用户完全从 UI 界面管理他们的数据库记录。

Nova 提供可配置的 UI 功能,例如搜索、过滤和自定义操作。这些功能开箱即用,也可以在前端和后端进行自定义(Nova 使用 Vue.js 作为前端组件)。

在 Nova 中向模型添加 CRUD 操作的机制被称为资源,这些是您可以在命令行上创建的类似控制器的类,例如要创建一个 Post 资源:php artisan nova:resource Post,一个新类会显示在您项目的 app/Nova 目录中,不仅如此,它还会自动显示在 Nova 模板中供您使用。通常大多数 Laravel 模型在 Nova 中工作无需任何额外的配置,但您可以定义具体的细节,如字段如何被编辑等。

此外,Nova 另一个值得关注的特点是允许您在一个或多个模型上执行自定义任务。例如您可以编写一个将用户的会员订阅延长一个月的操作,先在资源文件中编写这方面逻辑,再在用户界面中检查,然后从动作下拉列表中选择操作。

  • 由 Laravel 官方团队创建,与 Laravel 功能和设计理念保持一致
  • 可与现有 Laravel 项目快速集成
  • UI 界面整洁美观
  • 定制化能力相对较低
  • 无免费试用,需要付费(小型项目 99 美元,大型项目 199 美元)

Orchid 主要由俄罗斯开发者 Alexandr Chernyaev 开发,是 Laravel 框架的开源 CRUD 接口包,允许您使用表单生成器、表格过滤和排序以及文本搜索等便利的功能来快速开发管理模板。

Orchid 最吸引人的是它的开源社区,在没有任何付费项目的情况下能够维护好其完善的功能。

与 Nova 的开箱即用不同,Orchid 需要您通过名为 screen 的类来创建管理模板的逻辑和外观。每个模板都为特定模型定义 CRUD 接口,可以从任何来源获取数据,包括 Eloquent 模型以及外部 API。此外,您还可以通过布局和组件来自定义屏幕的查询和权限以及视图层。

虽然这比使用 Nova 需要更多的手动操作,但它非常灵活,易于迭代和定制。

  • 免费和开源
  • 经常迭代更新
  • 轻松定制
  • 强大的社区以及作者在 GitHub 上的支持(可以看下他的提交记录)
  • 不是开箱即用——需要编写代码
  • 文档部分有待改进

Backpack 是罗马尼亚开发者 Cristian Tăbăcitu 于 2016 年创建的一个 Laravel Admin 项目。它是一个强大的全能工具,因为它不仅有一个 CRUD 接口包,还有一个可选的可视化编程界面,以及它自己的 UI 框架。鉴于这种多功能性,Backpack 不是免费的,但可以为非商业用途提供免费许可。

与 Nova 和 Orchid 类似,Backpack 的核心是为应用程序的模型(简称CRUDS)提供一个 CRUD 接口,这些是管理模板的部分,操作由添加到标准 Laravel 类的方法和特点来定义。您可以从命令行生成 CRUDS,或者可以使用 Backpack DevTools 工具,它提供了一个 Web 界面,可以从用户界面快速生成 CRUDS。

Backpack 拥有自己的 UI 软件包,叫为Backstrap。这是基于 CoreUI 和 Bootstrap 4 的,能够确保您的管理站点在没有任何配置的情况下看起来整洁专业。

  • 优秀的文档,包含视频教程
  • 强大的前端主题
  • 非商业项目的免费选项
  • 如果您想要所有工具和选项,则相对昂贵

与我们目前看到的其他管理模板包不同,Voyager 是 Laravel Admin 应用的可视化开发平台,允许您从 UI 生成而不用敲代码。这对于某些类型的项目来说可能是完美的,但您会被限制在一个拓展性有限的 GUI 中,其灵活性远远低于代码。

Voyager 提供了一个资源管理器,无论文件是在本地存储中还是在 S3 等远程存储中,您都可以从 UI 中查看、编辑和删除这些文件。它不仅有一个菜单生成器,允许您管理网站的菜单,还有一个数据库管理器,允许您添加、编辑和删除表格。Voyager 是围绕 BREAD 功能构建的,您可以指示任何表的浏览、读取、编辑、添加和删除功能。

  • 适合编程经验有限的开发者
  • 提供免费视频培训课程,让您快速学习
  • 可以轻松扩展和覆盖默认的控制器
  • Laravel 的细粒度配置在视觉构建器中是很难实现的
  • 与 Laravel 作为框架而不是 CMS 的理念背道而驰

每当设置 Laravel 项目时,都需要定义每个实体的模型、控制器、路由和视图,这也许很乏味并且需要大量时间。

InfyOm Laravel Generator 是由印度开发公司 InfyOm 创建的工具,它是为创建 Laravel 管理网站而制作的,可以在几分钟内将您所有的模板代码构建起来。

开始一个项目时,您需要使用 CLI 或 JSON 文件定义事件及其字段,完成后您可以开始编写脚手架脚本,比如:php artisan infyom:scaffold $MODEL_NAME –fieldsFile=mySchema.json,之后生成器将尝试创建所有的文件和内容,以实现完整的CRUD功能,包括模型、控制器、组件模版、路由、测试案例、数据表等,完成这些后,就会有一个按照您的要求配置出的 Laravel 管理网站。

  • 以最佳实践为支架,如 Repository 模式、Swagger 注释和测试案例
  • 免费
  • 与其他模板相比,UI 模板缺乏亮点
  • 需预先了解设计与架构,不适合快速原型设计

Argon Laravel Dashboard 是一个基于 Bootstrap 4 的管理模板,为 Laravel 打造。其专业版(149 美元授权)含有 100+ 灵活的组件,如图表、表格等。Argon 包含一个 Laravel 后端,但非常初级,它不包括我们在其他项目中看到的用于 CRUD 接口、脚手架或可视化编程的任何特殊包。出于这个原因,我认为这个产品最适合那些想自己编写后端逻辑,且主要想在视图层得到帮助的项目。

Argon 设计系统基于Bootstrap 4 ,并允许使用 Sass 预处理器轻松自定义 CSS 。它提供了 100 多个 UI 组件,

从按钮和表单输入到图表和图片轮播。

购买 Argon 时,您可以决定要为哪个前端库编写交互方面的内容,包括 jQuery、React、Vue 和 Svelte。Argon 还为 Laravel 后端提供了一些基本的 CRUD 实体,包括用户、角色、类别和项目。

  • 设计美观
  • 100+ UI 组件
  • 有免费版和专业版(售价 149 美元)
  • 支持多个前端库
  • 模板功能相较其它几款,比较基础

写在最后

在使用 Laravel 构建管理模板时有多种选择,每个工具都有自己的优点和缺点,您选择的工具将取决于您项目的具体要求以及您团队的优势。

本文为原创内容,版权归「码匠Majiang」所有。欢迎文末分享、点赞、在看三连。转载请联系后台~

高级玩家必备 – 使用phpMyAdmin管理群晖中的数据库

数据库,这个在我们工作中或日常生活随处可见的术语,对许多人来说依旧带着一层神秘的面纱。其实你正在浏览老宁的这篇文章,它就被保存在云端数据库中。

我们在使用群晖的 Container Manager 套件或 Docker 进行创建容器时,经常会遇到同时安装数据库容器的情况。隐隐中,我们可能认为不同的项目应该能够共享同一个数据库,但是由于缺少相关知识,又怕引起其他问题,就不了了之。

所以今天老宁将一步步带你认识群晖中的数据库,从更深层次教你使用群晖 phpMyAdmin 套件管理群晖中的数据库,以及多个项目如何共用一个数据库,让你在折腾群晖时更加顺畅。

什么是数据库?

数据库就像是一个大书架(表),你可以在上面整齐地摆放各种各样的书籍。每本书就像是一条数据记录,里面包含了很多信息,比如书名、作者、出版日期等。这些信息就像数据字段,它们告诉我们每本书的具体情况。

你可以想象,如果有很多这样的书架,每个书架上都有很多书,那么你需要一个系统的方法来找到你想要的那本书。这就是数据库的工作。它帮助你组织和分类所有的书籍,让你能够通过搜索书名或者作者等信息快速找到你需要的内容。

除了一些简单的,不需要使用数据库的应用程序外,大多数项目都需要使用数据库。比如前面介绍的兰空图床,它就用到了 MySQL 数据库。

当然数据库的种类也有很多,比如 MySQLPostgreSQLSQLiteMicrosoft SQL ServerMariaDBRedisMongoDB 等等。

当我们在启动容器时,会拉取 image: postgres:15 这样的镜像,那就代表了该项目使用了 PostgreSQL 数据库。

群晖上提供了 MariaDB 套件,可以方便用户一键安装 MariaDB 数据库服务(MariaDB 最初是作为 MySQL 的一个分支,它们两者之间的兼容性非常高)。

MariaDB 安装方法非常简单。在套件中心搜索 MariaDB,点击安装按钮后,再输入密码和端口(3306被服务端口占用了)等待安装完毕即可。

一般情况下数据库的最高权限是用户都是:root,它可以访问数据库的任何表,并对它们进行增加、删除、修改、查询操作。如果想要把 MariaDB 数据库服务映射到外网,需要开启 TCP/IP 连接,并在路由器开启端口映射

想要查看和管理数据库中的数据,除了通过专业且复杂的命令行操作,更直观、简单的方式就是借助各类图形化界面管理工具了。

在众多数据库中,MySQL 是应用最广泛的一种。为了让大家在使用 MySQL 时更加得心应手,我们主要介绍群晖 DSM 内置的图形化管理工具:phpMyAdmin 套件。

phpMyAdmin 是一个用 PHP 编写的免费且开源的 Web 应用,它通过一个清晰易用的网页界面,让我们能够轻松地对 MySQL 和 MariaDB 数据库进行管理。

在群晖中安装 phpMyAdmin 和其他套件一样,只需在套件中心搜索即可安装。phpMyAdmin 套件需要依赖 Web Station 和 PHP 8,所以它们会被同时安装。

安装完毕后,需要新增网页服务门户,设置类型为基于端口,并配置端口号。(只要没被占用的端口都行)

在内网中可以直接通过【http://群晖:9200】访问 phpMyAdmin 后台管理界面,如果需要在公网进行访问,那么则需要配置反向代理或端口映射。

要对数据库进行管理,首先要登录到数据库。

在 phpMyAdmin 登录界面,输入用户名:root,密码为前面安装 MariaDB 设置的密码,就能登录到 MariaDB 服务。

登录成功后,在界面左侧可以看到 MariaDB 中所有的数据库。

右侧可以看到当前 MariaDB 的信息,包括类型、连接状态等信息。

如果要创建新的数据库,可以在数据库菜单中进行创建。

要对账户进行管理,可以在账户菜单新增账户或者对某账户授予特定的访问权限。

至于其他的操作,老宁就不展开细说了。

现在我们学会了通过 phpMyAdmin 管理群晖自带的 MariaDB 数据库。如果想要使用 phpMyAdmin 管理其他地方的数据库,比如 Container Manager 中的数据库,又该如何操作呢?

接下来以老宁写的兰空图床的配套安装的数据库为例。如果不知道如何安装 MySQL 数据库,可以参考这篇文章

首先我们要了解群晖的 phpMyAdmin 和 MariaDB 套件其实是两个东西,并不是说 phpMyAdmin 安装完毕后就能直接找到 MariaDB 数据库直接对它进行管理。

最重要的是 Web Station 套件中的 web_packages文件夹,它会将 Web Station 中的配置文件全部放在里面。而 phpMyAdmin 想要连接到 MariaDB 数据库,就是因为在synology_server_choice.json 文件中有相应的配置

当我们打开 synology_server_choice.json 文件后,就可以看到它是通过 Socket 方式进行连接的

这也就解释了前面在 MariaDB 套件中没有启用 TCP/IP 也能使用 phpMyAdmin 连接到 MariaDB 的原因,而使用 socket 连接数据库是不需要指定端口号的,所以在 MariaDB 中设置的端口号是为了使用 TCP/IP 连接。

根据前面的教程,我们在 Container Manager 中新建了一个 MySQL 数据库,端口为3306,网络模式为 bridge。

synology_server_choice.json 文件下载到本地电脑,在方括号中新增如下代码。

注意花括号之间需要用逗号隔开,host 为群晖的内网IP,port 为容器映射的端口号

保存并上传到群晖后,覆盖原有的 synology_server_choice.json 文件。重新打开 phpMyAdmin 登录界面就能看到有两个服务器,分别对应 MariaDB 套件和 Container Manager 中的 MySQL。

选择 MySQL 后,输入在创建容器时配置的 root 密码,可以看到名为 lsky 的数据库

每个数据库中都有许多的,每个表中存储了大量的数据信息

最后来看看多个服务都需要数据库服务时,如何共用。

通过下面的 Docker 命令,我们知道这个镜像时需要用到数据库服务的。

原来在安装图床时,已经安装上启动了一个 MySQL 容器,再去重新安装一个 MySQL 是十分浪费性能的,所以直接共用原来的即可。

在配置容器时,我们只需要手动设置 DB_HOST、DB_PORT、DB_USERNAME、DB_PASSWORD 为已安装的 MySQL 服务器,再输入一个数据库名 firefly。

这样 firefly_iii 就能自己在 MySQL 中新增一个名为 firefly 的数据库以供自己使用。

如果要使用 MariaDB ,要怎么操作呢?还记得前面说到的 TCP/IP 和 Socket 吗?要使用 TCP/IP 方式进行连接,就必须要在 MariaDB 界面中勾选启用。

在使用 Docker Compose 文件的复杂项目中,往往也会拉取数据库镜像,我们可以通过修改其配置文件来达到共用数据库服务的目的。不过这个操作更加复杂,由于文章篇幅限制,我们后面再说。

一个热爱技术的程序员和极客,群晖NAS深度玩家!

专注NAS相关技术分享,原创!干货!

觉得老宁的文章对你有帮助,记得点赞、收藏、加关注

如何使用 phpMyAdmin 创建新的 WordPress 管理员用户

如果您的WordPress外贸网站被黑客入侵、忘记了密码,或者由于某种原因,您无法登录 WordPress 管理仪表盘,请不要绝望。还有另一种获得访问权限的方法——您可以通过直接编辑您网站的数据库来创建一个新的 WordPress 管理员用户。

首先,您需要访问一个名为 phpMyAdmin 的工具,以便您可以编辑您的数据库。通常可以通过您的主机账户面板中找到。

确切名称因主机而异,但请查找以下选项:

phpMyAdmin数据库管理器这是在cPanel 中的样子:

cPanel 中的样子

访问 phpMyAdmin

现在,从左侧的数据库列表中选择您的WordPress 站点的数据库。然后,点击wp_users表。

注意 :一些主机wp_users为了安全起见会更改表的前缀。例如,您可能将其视为wpud_users. 只需打开写着[xxxxx]_users.

访问 phpMyAdmin 中的 wp_users 表。

转到wp_users表

在wp_users表格中,单击“插入”选项卡。

插入一个新的 WordPress 管理员用户

然后,您将看到一个表单:

在用户表中添加一个新的 WordPress 管理员填写以下详细信息:

在用户表中添加一个新的 WordPress 管理员

user_login:插入您要用于新管理员用户的用户名。user_pass:为帐户添加密码,然后在功能下拉列表中选择MD5。user_email:添加您要使用的电子邮件地址。user_registered:选择注册该用户的日期和时间。user_status:将此值设置为0。其它的默认空着。填写完字段后,滚动到底部并点击“执行”:

点击“执行”后,您应该会看到一个成功屏幕。如果您返回wp_users表格,您应该会看到您的新用户。注意ID列中的值,因为您将在下一步中需要它:

记录ID值

继续操作,转到wp_usermeta表格并单击“插入”。同样,名称可能略有不同 – 只需查找显示[xxxxxx]_usermeta.

然后,填写以下值(同样,将其他字段留空):

插入用户元值

user_id:填写上一步创建的用户的ID。meta_key:填写wp_capabilitiesmeta_value: 填写字段 a:1:{s:13:”administrator”;s:1:”1″;}

单击”执行”完成用户创建过程。

您现在可以使用新账户登录您的 WordPress 站点后台了。

本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com

点赞 0
收藏 0

文章为作者独立观点不代本网立场,未经允许不得转载。