摘要:值得一提的是扩展包不免费用于商业用途,作者用一种人类友好的方式说你使用这个扩展包就是应该去挣钱的,而不是免费的去工作这个扩展包收费美元。除了这些,还有五个没有全面的审查的扩展包。最后,还有三个优质的包选择于。
开发者们都是懒惰的,不,我不是在开玩笑,他们努力创建系统,帮助他们在未来避免更多的、尤其是重复性的工作。现在有一些相当优秀的例子,我们不需要在编写重复的代码,它将直接为我们生成。今天我们将会看到 Laravel 框架中的各式各样的后台管理面板、后端开发者创建的例子,它们可以节省我们多少时间呢?
Disclaimer: 我是 quickadminpanel 的创始人,一位创造者。回顾这个市场,这里确实有伟大的竞争对手,我尽可能做人要诚实和公正,他们应该得到友善的话语和尊重。
有两大类后台管理面板生成器:可视化构建器和基于命令行的。选择取决于您的偏好,是否喜欢使用 GUI 视图面板的,还是有参数的 Artisan 命令行的。
另外,这里一个重要的术语,知道 CRUD 这个缩写代表“创建、读取、更新、删除”这些操作基于所有的管理面板。一个 CRUD 通常代表一个菜单项的模型来管理数据。
重要通知:此文章写于 写于 2017 年 4 月 1号,下面所有的扩展包都是在 laravel 5.3 中测试的。在撰写本文的时候,要求他们提供官方的 5.4 版本支持还为时尚早。(半年时间,Laravel 5.5 都已经发布了)
可视化的后台管理面板这个产品虽然很新,但给我留下了深刻的印象。它已经有一个大的粉丝团,在之前的 laravel 资讯中有提到过它,和它的 YouTube 开发视频系列。
Voyager 拥有一个专业并且完美的界面,但主要的一点是,它只是工作。清晰的使用说明,友好的前端主题,没有明显的 bug 或未完成的部分。 Voyager 还拥有像船长的图片或船轮图标,使它看起来不错的整体。
另一个明智的决定是有一个参数“虚拟数据”在安装过程中,你可以有你的管理面板预填充数据使用。
Voyager 还用有一个媒体文件管理器,来处理你上传的文件,这非常的方便,并帮助它在其他的后台管理创建者中脱颖而出。
最后,在 Voyager 的帮助下,你也可以通过一个在你的后端应用程序中的 mini-phpMyAdmin 改变数据库表,从而直接改变你的后台管理面板。
总之,Voyager 似乎是市场上最优雅的解决方案,但如果不支持或更新一段时间,这种情况很容易发生变化,这种情况经常发生在开源的扩展包中。
LaraAdmin: Admin Panel + CRM这是另一个让我印象深刻的项目。安装并登录到你的管理面板后,你可以直观地创建 CURDs 模块。据作者来讲,这个模块化的系统,是受到了 SugarCRM 的启发。
仅仅通过几次点击,你可以生成你的数据库模型的迁移文件。如果你喜欢,你也可以同时或者分开生成 CURD 模块。
LaraAdmin 带有相当多的预定义模块,他们帮助你了解这个系统,但是,另一方面,如果我要创建我的项目从零开始,这需要花些一些时间来对 LaraAdmin 进行默认配置。
和 Voyager 一样,LaraAdmin 也拥有上传文件功能。可以说,她是你上传文件的内部浏览器。
对于前端视图,LaraAdmin 采用了一种非常受欢迎的主题 adminLTE。它实际上是大多数管理面板构建者使用的,它成为一种市场标准。
QuickAdmin: 在线生成器的扩展包这个包是非常简单的,安装之后,您可以创建 CRUD 模块或非 CRUD 的菜单项,指定字段、角色和权限。它可能是本文中所有扩展包中描述最少的工具。
对于 QuickAdmin 有一个重要的里程碑,它是一个在线版本的管理面板的工具而不是作为一个现有项目 laravel 包,该生成器可以为你下载和使用整个 Laravel 项目。因此,您没有任何包依赖关系,也不需要学习这个特定包的语法。
非可视化的后台管理面板 Z-song / Laravel-admin这个包介于可视化和非可视化工具两者之间的,生成器的一部分实际上是可视化的,因此您可以在管理面板内创建新的菜单项,但对于大多数过程,您必须手动编写代码,比如:
php artisan admin:make UserController --model=AppUser $router->resource("users", UserController::class); use EncoreAdminGrid; use EncoreAdminFacadesAdmin; $grid = Admin::grid(Movie::class, function(Grid $grid){
这是视觉和基于代码的生成器之间的根本区别,后者需要学习它们的语法、一些规则并坚持它们。如果你想在包上创建一些定制的东西,那可能很麻烦。然而,z-song 开发的扩展包是一个很好的作品。
它还提供了额外的功能,如模型网格、模型表单、模型树,甚至是现成的小部件。
InfyOm Laravel Generator它有相当令人印象深刻的生成器口号:“让你的 API 和管理面板在几分钟内准备好”,所以他们首先强调 API,而不是管理面板。为此,他们有一个多带带的 API 生成器,它可以作为管理面板的一部分,或者作为独立的一部分工作。不仅如此,他们还将为 API 生成详细的注释。
虽然 infyom 生成器不是可视化(infyom 声称他们在工作在 GUI 页面之上的),它提供了三种不同的选项指定的增删改查参数:控制台、JSON 文件、或一个现有的数据库表。是的,你可以为一个已经存在的表生成增删改查模块,是不是很酷?
这个生成器的一个有趣功能,它使用存储模式生成代码,所以您的控制器看起来如下所示:
class BookController extends AppBaseController { /** @var BookRepository */ private $bookRepository; public function __construct(BookRepository $bookRepo) { $this->bookRepository = $bookRepo; } /** * Display a listing of the Book. * * @param Request $request * @return Response */ public function index(Request $request) { $this->bookRepository->pushCriteria(new RequestCriteria($request)); $books = $this->bookRepository->all(); return view("books.index") ->with("books", $books); } }
这可能是一件非常好的事情,或许你不想使用这种存储库模式,觉得它太复杂了。但是采用这种模式有一个最大好处,infyom 可以为你生成测试案例代码!
对于前端视图,infyom 提供四种模板可供选择:AdminLTE、 Metronic、Bootstrap、以及 FlatLab.
使用 infyom 最大的问题(与大多数非视觉生成器),是你必须严格遵守他们的规则语法。清楚他们的文档:“仔细阅读文档指定的特定输入,但是如果你使用了错误的参数,这个生成器会像魔术一样工作。
AppzCoder: 增删改查生成器 + 后台管理面板这个包有两个产品,一个独立的增删改查生成器,和一个 laravel 后台管理包。它的官方文档说的要求 laravel 5.1 和 5.3 版本之间工作。
安装后,你可以通过一个一个的 Artisan 命令得到一个 bootstrap 默认主题,也可以手动创建增删改查模块。
他们官方文件中的一个例子:
php artisan crud:generate Posts --fields="title#string; content#text; category#select#options=technology,tips,health" --view-path=admin --controller-namespace=Admin --route-group=admin
如果这对你来说太难了,你可以在 JSON 文件中提供字段细节,然后将其指定为命令的参数。
您也可以多带带生成不同的文件,如下所示:
php artisan crud:controller PostsController --crud-name=posts --model-name=Post --view-path="directory" --route-group=admin
php artisan crud:model Post --fillable="["title", "body"]"
生成增删改查后,然后你指定的所有细节,自己在代码里把菜单项,什么中间件、角色使用等等。所以,这个生成器会为你的管理面板做很多部分工作。
Backpack for Laravel这实际上是一个庞大的项目,它不仅仅是构建于一个管理面板之上的,它还有一个方便的多带带包结构:基础,增删改查 日志管理器,后台管理器等。作者称这个扩展包适用于创业者的各种演示网站,以及复杂的 Web 应用程序。
提示:Backpack 使用案例已经在之前的 laravel资讯文章中有提到。
除了增删改查生成器,它已经预先构建的增删改查模块包含:权限管理、设置、页面管理、新闻管理、菜单管理。另外,Backpack 中的一些包可以作为扩展:日志、备份和其他一些功能可以很容易地添加到应用程序中。
Backpack 的问题是它的严格,其严格要描述这样,所有在您的控制器代码的增删改查功能,它可能看起来像这样:
class TagCrudController extends CrudController { public function setup() { $this->crud->setModel("AppModelsTag"); $this->crud->setRoute("admin/tag"); $this->crud->setEntityNameStrings("tag", "tags"); $this->crud->setColumns(["name"]); $this->crud->addField([ "name" => "name", "label" => "Tag name" ]); }
虽然在控制器方法中设置所有东西看起来很方便,但是如果您想在它上面构建任何定制的东西,您将不得不自己“破解” Backpack 扩展包。公平地说,这适用于本系列中的大多数包,您必须处理依赖项,Backpack 扩展包是这里扩展包最严格的一个。
值得一提的是 Backpack 扩展包不免费用于商业用途,作者用一种人类友好的方式说:“你使用这个扩展包就是应该去挣钱的,而不是免费的去工作”(这个扩展包收费19美元)。
SleepingOwl Admin这可能是这篇文章中最古老的包之一,但这个包仍然积极在维护,它是由一家俄罗斯公司创建的,您可以在文档的某些部分看到俄罗斯语言,在这里和那里提交消息和其他文本。但这并不妨碍实际使用 sleepingowl 扩展包,它是非常强大的。
同样在其他情况下,这个扩展包的使用语法相当严谨,这是如何在 sleepingowl 中添加一个菜单的例子:
Admin::menu()->url("/")->label("Start Page")->icon("fa-dashboard")->uses("AppHTTPControllersAdminController@getIndex"); Admin::menu(AppUser::class)->icon("fa-user"); Admin::menu()->label("Subitems")->icon("fa-book")->items(function () { Admin::menu(AcmeModelsBarUser::class)->icon("fa-user"); Admin::menu(AcmeModelsFoo::class)->label("my label"); });
这里的另一个缺点是包的文件似乎过时了一点,而不是 类似于 admin:install 这样的 sleepingowl:install Artisan 命令行安装。在这个扩展包中,还可以找到更多关于这种不一致的例子。
你可以考虑用这八个扩展包,来生成你的后台管理面板。除了这些,还有五个没有全面的审查的扩展包。
我测试了两个未能交付的包:
CrudBooster 它由一些手动修复工作,但文件是难以理解(可能是用谷歌翻译,作者是来自印度尼西亚),我也不喜欢作者的一些建议,如使用字段名称 xxxx_id、id_xxxx 之类的 。
Zofe / Rapyd-Laravel 不幸的是,它没有在 Laravel 5.3 中工作,写这篇文章的时候他们正在更新,根据他们的自述,最新支持的版本是5.2。
最后,还有三个优质的包选择于 CodeCanyon。我不能提供很多关于他们的信息,所以我留下来给你们检查(我想作者是不愿意再花钱了(@^_^@),下面都是收费的扩展包,而且是美元!):
Laravel CRUD – CMS – Sximo 5 LTS($24)
Josh – Laravel Admin Template + Front End + CRUD($25)
Admin Architect – Administration Framework for Laravel ($29)
接下来就写完了,这些都是可行的选择,我发现创建你的 laravel 管理面板(几乎)不用写代码。
作者 PovilasKorop 写于 2017 年 4 月 1号
译者 angkee
这是一篇译文,原文地址是 https://laravel-news.com/13-l... 英语好的小伙伴,可以直接去看原文。
文章中提到的扩展包我基本都有用过,尤其是 Z-song 开发的 Laravel-admin,在接下来更新的文章中,我会再详细去写这些扩展包的优点和缺点。
我的英文水平有限,翻译的内容会稍有偏差,希望小伙伴们多多包涵。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/26181.html
摘要:值得一提的是扩展包不免费用于商业用途,作者用一种人类友好的方式说你使用这个扩展包就是应该去挣钱的,而不是免费的去工作这个扩展包收费美元。除了这些,还有五个没有全面的审查的扩展包。最后,还有三个优质的包选择于。 showImg(https://segmentfault.com/img/remote/1460000012312105?w=2200&h=1125); 开发者们都是懒惰的,不,...
摘要:本文经授权转自社区,后续更新将以帖子内容和内容为准。说明另一个令人喜欢的地方,是拥有活跃的开发者社区,而活跃的开发者社区带来的,是繁华的扩展包生态。本文对上打了标签的扩展包进行整理,截止到现在年月号,有超过个扩展包,以下是下载量最大的个。 本文经授权转自 PHPHub 社区,后续更新将以 PHPHub 帖子内容 和 GitHub 内容 为准。 说明 Laravel 另一个令人喜欢的地方...
摘要:更多扩展包中有丰富的扩展包来帮你完成几乎任何你想实现的功能。我们不能把所有的扩展包都整理出来,然而,这里还是列出了一些很有用的。总之,你几乎总是能够找到一个扩展包可以解决你当前的问题。 Laravel 是一个非常流行且简单易用的PHP框架,它提供了很多基础的工具(如 RESTful 路由、内置的ORM、模版等)使你能够快速的创建应用。这意味着你可以花费更少的时间来建立应用程序的模版,给...
摘要:查找保存下载用搭建自己的缓存仓库权限管理的好选择基于封装的后台管理系统,支持手机和端访问支付宝风格的验证器后台系统微信接口的部署脚本开发的博客系统百度推送自动记录用户行为扩展一个项目管理系统根据生成对应导航的状态 1.debug https://github.com/barryvdh/l... showImg(https://segmentfault.com/img/bVmhWL); ...
摘要:简介另一个令人喜欢的地方,是拥有活跃的开发者社区,而活跃的开发者社区带来的,是繁华的扩展包生态该项目统计了目前下载量最高的个扩展包。记得哟相信下面这些扩展包会让你的编码更加高效。排名下载量排名包地址下载次数描述图片处理。 简介 Laravel 另一个令人喜欢的地方,是拥有活跃的开发者社区,而活跃的开发者社区带来的,是繁华的扩展包生态 ———— @Summer 该项目统计了目前 pack...
阅读 1970·2019-08-30 15:54
阅读 3595·2019-08-29 13:07
阅读 3123·2019-08-29 12:39
阅读 1788·2019-08-26 12:13
阅读 1546·2019-08-23 18:31
阅读 2158·2019-08-23 18:05
阅读 1843·2019-08-23 18:00
阅读 1042·2019-08-23 17:15