Laravel 后台开发常用组件

栏目: PHP · 发布时间: 5年前

内容简介:开发者们都是懒惰的,不,我不是在开玩笑,他们努力创建系统,帮助他们在未来避免更多的、尤其是重复性的工作。现在有一些相当优秀的例子,我们不需要在编写重复的代码,它将直接为我们生成。今天我们将会看到 Laravel 框架中的各式各样的后台管理面板、后端开发者创建的例子,它们可以节省我们多少时间呢?

开发者们都是懒惰的,不,我不是在开玩笑,他们努力创建系统,帮助他们在未来避免更多的、尤其是重复性的工作。现在有一些相当优秀的例子,我们不需要在编写重复的代码,它将直接为我们生成。今天我们将会看到 Laravel 框架中的各式各样的后台管理面板、后端开发者创建的例子,它们可以节省我们多少时间呢?

  • [ 1 ] iView Admin ★ 7200+

    iView Admin 是基于 Vue.js ,搭配使用 iView UI 组件库形成的一套后台集成解决方案,由 TalkingData 前端可视化团队部分成员开发维护。iView Admin 遵守 iView 设计和开发约定,风格统一,设计考究,并且更多功能在不停开发中。 漂亮大气、另外还有完善的中文文档 ,但是使用了vue这需要你懂vue的一些知识

  • [ 2 ] Voyager ★ 6400+

    感觉这个包也是不错, 粉丝贡献力量大 ,更新比较快支持最新的laravel版本。 功能也比较健包括BREAD(CRUD)操作,媒体管理器,菜单生成器等等 。 Voyager 还拥有像船长的图片或船轮图标,意味这 旅行者 ,我理解的是开发一个应用就像一场旅行一样简单轻松。 该项目文档、视频教程都比较健全,但是基本是英文的

  • [ 3 ] Laravel-admin ★ 3800+

    laravel-admin 是一个可以 快速 帮你构建后台管理的工具【号称十分钟内构建器功能完备的 Laravel 应用后台】,它不仅提供的 页面组件表单元素 等功能,还提供了 额外的功能 ,如 模型网格、模型表单、模型树,甚至是现成的小部件 ,能帮助你使用 很少的代码就实现功能完善的后台管理功能 。 该项目演示demo和文档都有,而且是中文的,根据文档来,上手还是比较容易的。但是如果你想在包上创建一些定制的东西,那可能很麻烦。不过总的来说,z-song 开发的扩展包是一个很好的作品。

  • [ 4 ] Laravel-Administrator ★ 1900+

    Laravel-Administrator 是 Laravel 专注后台开发的扩展包,主要是利用Eloquent ORM,加上一些自定义的配置,快速生成数据的管理后台。这个项目没有有用过,git上看他好久没有更新,不清楚是否能完美支持最新laravel版本。不过这个包是Laravel China作者曾经推荐的,有兴趣的同学可以研究下。

    这里给大家个传送门 Laravel-Administrator 快速创建数据管理后台 使用 Laravel-Administrator 快速生成数据模型管理员后台教程

  • [ 5 ] InfyOm Laravel Generator ★ 1900+

    它有相当令人印象深刻的生成器口号:“让你的 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 最大的问题(与大多数非视觉生成器),是你必须严格遵守他们的规则语法。清楚他们的文档:“仔细阅读文档指定的特定输入,但是如果你使用了错误的参数,这个生成器会像魔术一样工作。

  • [ 6 ] LaraAdmin ★ 1000+

    这是另一个让我印象深刻的项目。安装并登录到你的管理面板后,你可以直观地创建 CURDs 模块。据作者来讲,这个模块化的系统,是受到了 SugarCRM 的启发。

    仅仅通过几次点击,你可以生成你的数据库模型的迁移文件。如果你喜欢,你也可以同时或者分开生成 CURD 模块。

    LaraAdmin 带有相当多的预定义模块,他们帮助你了解这个系统,但是,另一方面,如果我要创建我的项目从零开始,这需要花些一些时间来对 LaraAdmin 进行默认配置。

    和 Voyager 一样,LaraAdmin 也拥有上传文件功能。可以说,她是你上传文件的内部浏览器。

    对于前端视图,LaraAdmin 采用了一种非常受欢迎的主题 adminLTE。它实际上是大多数管理面板构建者使用的,它成为一种市场标准。

  • [ 7 ] Backpack for Laravel ★ 600+

    这实际上是一个庞大的项目,它不仅仅是构建于一个管理面板之上的,它还有一个方便的单独包结构:基础,增删改查 日志管理器,后台管理器等。作者称这个扩展包适用于创业者的各种演示网站,以及复杂的 Web 应用程序。 除了增删改查生成器,它已经预先构建的增删改查模块包含:权限管理、设置、页面管理、新闻管理、菜单管理。另外,Backpack 中的一些包可以作为扩展:日志、备份和其他一些功能可以很容易地添加到应用程序中。 Backpack 的问题是它的严格,其严格要描述这样,所有在您的控制器代码的增删改查功能,它可能看起来像这样:

    class TagCrudController extends CrudController {
    
      public function setup() {
        $this->crud->setModel("App\Models\Tag");
        $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美元)。

  • [ 8 ] SleepingOwlAdmin ★ 500+

    这可能是这篇文章中最古老的包之一,但这个包仍然积极在维护,它是由一家俄罗斯公司创建的,您可以在文档的某些部分看到俄罗斯语言,在这里和那里提交消息和其他文本。但这并不妨碍实际使用 sleepingowl 扩展包,它是非常强大的。

    同样在其他情况下,这个扩展包的使用语法相当严谨,这是如何在 sleepingowl 中添加一个菜单的例子:

    Admin::menu()->url('/')->label('Start Page')->icon('fa-dashboard')->uses('\App\HTTP\Controllers\AdminController@getIndex');
    Admin::menu(\App\User::class)->icon('fa-user');
    Admin::menu()->label('Subitems')->icon('fa-book')->items(function ()
    {
        Admin::menu(\Acme\Models\Bar\User::class)->icon('fa-user');
        Admin::menu(\Acme\Models\Foo::class)->label('my label');
    });

    这里的另一个缺点是包的文件似乎过时了一点,而不是 类似于 admin:install 这样的 sleepingowl:install Artisan 命令行安装。在这个扩展包中,还可以找到更多关于这种不一致的例子。

  • [ 9 ] QuickAdmin ★ 500+

    这个包是非常简单的,安装之后,您可以创建 CRUD 模块或非 CRUD 的菜单项,指定字段、角色和权限。它可能是本文中所有扩展包中描述最少的工具。

    对于 QuickAdmin 有一个重要的里程碑,它是一个在线版本的管理面板的 工具 而不是作为一个现有项目 laravel 包,该生成器可以为你下载和使用整个 Laravel 项目。因此,您没有任何包依赖关系,也不需要学习这个特定包的语法。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

总开关

总开关

[美] 吴修铭 / 顾佳 / 中信出版社 / 2011-8 / 49.00元

当收音机经历从真空管收音机到半导体收音机,再到电晶体收音机的发展升级时,人们觉得自己的资讯来源美满得无可复加了。当约翰.洛吉.贝尔德发明了电视以后,在很长一段时间内,人们都认为电视就是他们所拥有的﹑也是所愿意拥有的最好的资讯媒介。 时至今日,互联网的震撼不亚于以往任何媒介,它给我们带来了最大的信息量,最便捷的自我表达,最迅速的沟通。互联网似乎比以往任何媒介都具有优越性。在互联网成为这个时代主......一起来看看 《总开关》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器