史上最快的后台搭建框架

史上最快的后台搭建框架

若是你要问我说最快的后台搭建框架是什么,我会坚决果断的说,laravel-admin(https://laravel-admin.org/)。这个框架的做者是z-song,应该是腾讯公司的。它的官网写着“在十分钟内构建一个功能齐全的管理后台”。没有夸张,就是这么虎。php

搭建完成的例子以下:avatar
具体如何使用查看官网就能够了。这里就说下它用到的几个技术。html

Pjax

这个框架左边导航选择后,右边页面刷新,使用的技术是Pjax。它解决的就是局部刷新页面的功能。这个技术说白了就是Ajax请求返回的不是json,而是html,替换页面上的局部界面。前端

Pjax在前端是有一个jquery的库支持的,jquery.pjax.js。这个库基本原理是使用window.history.pushState来配合ajax进行页面刷新,而且重置页面的上一步,下一步的操做。要达到的效果就是虽然我只使用ajax更新页面的一个部分,可是我也能像进入新页面同样拥有浏览器点击上一步回退到旧的页面的功能。html5

这个pushState是h5的特性。因此浏览器必需要支持h5。jquery

grid, form, tree

这三种结构,特别是前面两种结构,是常常使用到的。grid和form使用的熟练与否就表明了咱们可否很好使用这个框架了。laravel

grid就是咱们查看一个模型页面的表单。它借用php的魔术方法,把全部要展现的字段都封装成了方法。大体代码以下:ajax

return ReportTag::grid(function(Grid $grid) {
    $grid->id("标签id");
    $grid->name("标签名称");
    $grid->parent("父级id");

    $grid->created_at("建立时间");
});

而form则是咱们编辑/新建时候的表单。它则是以form表单的类型作方法:json

return ReportTag::form(function (Form $form) {
    $form->text('name', '标签名字')->rules('required');
    $form->text('parent', '父级id,若是自身就是父级,填0')->rules('required');
});

实际上,我在使用的过程当中遇到很多额外的需求。算是碰上了一些高级用法把。固然文档里面也都有,可是写的不尽详细。这里我记录下这些不常见的用法。api

form中有两个下拉框联动下拉,即我下拉第一个select,第二个select或者multiselect会自动变化选项

$form = ReportTagArea::form(function (Form $form) use ($tags, $areas) {
    $form->select('area_id', '区域')->options($areas)->rules('required')->load("periods", "/tag/periods?q=[]");
    $form->multipleSelect("periods", "时段")->rules("required");
});

上面例子就是我选择了区域选项的时候,调用ajax接口,/tag/periods?q=[area_id] 来填充periods这个时段选择框。(官网只说了联动选择能够联动两个select,我试了下,能够联动select和multipleSelect)浏览器

grid 在每一列增长一个行为

$grid->actions(function ($actions) {
    // 跳转到路口规则列表
    $actions->append('<a href="/tag/junctions?area_id='. $actions->row->area_id .'"><i class="fa fa-eye"></i></a>');
});

要在页面上增长自定义的ajax如何作?

使用 Admin::script方法

class FullController extends Controller
{
  private function getjs() {
      return "alert(11)";
  }

  public function index () {
      Admin::script($this->getjs());
      return Admin::content(function (Content $content) {
        ....
      }
  }
}

总结

关于管理后台,快速搭建快速相应是王道,有屎以来,我真心没有见过比laravel-admin能更快搭建管理后台的框架了。若是说laravel是个大斧子,laravel-admin就是一个镶金嵌玉的斧子,只要你熟练掌握了使用方法,就能够很方便完成你的需求。固然,若是有的bt需求是这个框架没有想到的,那么你可能花费的时间就会比平时更多。可是再强调一下,这个框架适合作的是管理后台,通常管理后台的需求,都是能够和PM进行pk的,不是么。

参考

https://www.fanhaobai.com/2017/07/pjax.html https://www.renfei.org/blog/html5-introduction-3-history-api.html

相关文章
相关标签/搜索