Laravel 后台开发常用组件

PHP · oswald · 2019-01-12 · 1 次阅读

文章来源: http://www.xiaot123.com/post/laravel-admin, 本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。

开发者们都是懒惰的,不,我不是在开玩笑,他们努力创建系统,帮助他们在未来避免更多的、尤其是重复性的工作。现在有一些相当优秀的例子,我们不需要在编写重复的代码,它将直接为我们生成。今天我们将会看到 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 项目。因此,您没有任何包依赖关系,也不需要学习这个特定包的语法。

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

码农书籍
精通正则表达式:第3版

精通正则表达式:第3版

Jeffrey E. F. Friedl / 余晟 / 电子工业出版社 / 2007 / 75

随着互联网的迅速发展,几乎所有工具软件和程序语言都支持的正则表达式也变得越来越强大和易于使用。本书是讲解正则表达式的经典之作。本书主要讲解了正则表达式的特性和流派、匹配原理、优化原则、实用诀窍以及调校措施,并详细介绍了正则表达式在Perl、Java、.NET、PHP中的用法。本书自第1版开始着力于教会读者“以正则表达式来思考”,来让读者真正“精通”正则表达式。该版对PHP的相关内容、Java1.5和Java1.6的新特性作了可观的扩充讲解。任何有机会使用正则表达式的读者都会从中获益匪浅。

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

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

Markdown 在线编辑器