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