当前位置 : 主页 > 网络编程 > PHP >

Laravel开发:如何使用Laravel Nova和AdminBro生成后台管理界面?

来源:互联网 收集:自由互联 发布时间:2024-01-03
Laravel是一种流行的PHP Web应用程序框架,它拥有丰富的功能和工具,帮助开发人员更快、更轻松地构建Web应用程序。而Laravel Nova和AdminBro是两个开源框架,它们能够帮助我们快速生成漂亮

Laravel是一种流行的PHP Web应用程序框架,它拥有丰富的功能和工具,帮助开发人员更快、更轻松地构建Web应用程序。而Laravel Nova和AdminBro是两个开源框架,它们能够帮助我们快速生成漂亮的后台管理界面。本文将介绍如何使用它们来实现快速开发,让你的应用程序迅速上线。

一、理解Laravel Nova和AdminBro

Laravel Nova是Taylor Otwell和他的团队开发的一款漂亮且易于使用的后台管理面板,它提供了一些强大的功能,例如:资源管理、过滤和排序、自定义仪表盘等。此外,使用多个组件,你可以轻松地自定义Nova的样式和外观。

AdminBro是一个适用于Node.js和Typescript的可扩展后台管理面板,它使用React作为用户界面库,具有响应式设计和易用性开发人员可以使用AdminBro来开发其自己的管理面板,同时,可以根据需要自定义其外观和行为。

二、安装和配置Laravel Nova

在开始之前,您需要确保您已经在您的项目中安装了最新版本的Laravel。在您的项目中,使用composer更新和安装最新版本的Laravel Nova。

composer require laravel/nova

安装过程可能需要一段时间,而且您需要登录到Laravel Nova的官方网站来注册您的Nova应用并注册授权。

完成后,您需要将Nova添加到路由文件中。这可以使用以下语句来实现:

Route::get('/nova', function () { return redirect('/nova/login');});

你也可以将此语句添加到您的路由文件中,这样管理面板将只对授权用户可用。

Route::middleware(['auth'])->group(function () { Route::get('/nova', function () { return redirect('/nova/login'); }); Nova::routes();});

在这里,您可以使用Nova::routes()方法来指定哪些路由将被nova使用。设置完成后,您现在可以访问您新增的/Admin路由,并成功登录后进入Nova控制面板。

三、安装和配置AdminBro

与Laravel Nova相比,AdminBro可以在Node.js环境中运行。 它是一种插件化架构,支持各种拓展,例如各种输入值的强类型输入、自定义预览、过滤、排序等功能。

安装AdminBro是很容易的,首先你需要安装两个必要的依赖。

npm install admin-bro

npm install @admin-bro/express

接下来,您需要在Express应用程序上设置AdminBro,然后在路由器上启用AdminBro,您可以在其中设置路由路径和处理程序。

const AdminBro = require('admin-bro')
const AdminBroExpress = require('@admin-bro/express')
const express = require('express')

const adminBro = new AdminBro()
const router = AdminBroExpress.buildRouter(adminBro)

const app = express()
app.use(adminBro.options.rootPath, router)

app.listen(8080, () => { console.log('Server running')})

在Express应用程序中启用AdminBro后,您需要创建一个包含所有实体的AdminBro配置对象。

const Cars = require('./entities/cars')
const Users = require('./entities/users')

const adminBroOptions = {
  resources: [{
    resource: Cars,
    options: {
      properties: {
        name: { isTitle: true },
        gearbox: { components: { list: AdminBro.bundle('./path/to/custom/components/list') } },
      },
    },
  }, Users]
}

const adminBro = new AdminBro(adminBroOptions)

在这里,我们创建了一个附加了我们的实体的代码。您可以通过该程序作为模板,添加自定义entities、属性和组件。

四、使用Laravel Nova和AdminBro管理您的数据

现在,我们已经将Laravel Nova和AdminBro安装在我们的应用程序中,并已经配置了他们,我们可以使用它们来创建自定义管理面板。虽然这些框架在一些方面非常相似,但在其他方面则略有不同。

1.资源管理:Laravel Nova提供了一个简单但强大的资源管理器,可以让您轻松和简单地管理资源,例如:文章、作者、评论、订单,使用Laravel便利的ORM(对象关系映射)。AdminBro也可以进行类似的操作,但是,需要使用新的实体类和来自自己的数据源,可能需要耗费更多的时间。

2.字段和属性:Laravel Nova和AdminBro的管理面板允许您轻松地通过安装插件或自定义组件来添加输入、显示和格式化字段。两种框架都支持创建字段,但Nova有更多的字段组件。与此相反,AdminBro的自定义组件允许您更直接地管理某些组件,例如:选择器和单选按钮。

3.视图自定义:Laravel Nova使用Blade作为默认的模板引擎。因此你可以使用 L aravel 中的核心模板系统来定义视图。同时Nova还可以使用Vue来开发自定义组件。由于AdminBro使用React作为其默认的用户界面库,所以您需要使用React来开发您的自定义视图。

结论

Laravel Nova和AdminBro都是很好的框架,可以帮助开发者更快地在Web应用程序中创建漂亮和易用的管理面板。他们的工作原理略有不同,但是您可以根据您的需求来决定使用哪种框架。现在,你只需按照以上步骤即可在您的应用程序中配置和使用这两个框架,确保您在学习和开发中最大的效率提升,让您的应用程序更快地上线。

上一篇:如何使用ThinkPHP6中的自定义标签
下一篇:没有了
网友评论