alrik11es / laravel-rapids
为 Laravel 的高效原型设计。
Requires
- php: >=7.0.0
- laravelcollective/html: ~5.0
Requires (Dev)
- laravel/laravel: ~5.2
- phpunit/phpunit: ~5.2
This package is auto-updated.
Last update: 2024-08-26 00:52:31 UTC
README
使用 Laravel 实现的快速开发。
本库旨在帮助那些希望尽可能快地开发应用程序的开发者。
需求
- PHP >= 7.0.0
- 在您的项目中启用 Bootstrap
安装
将 Rapids 服务提供者 Laravel\Rapids\RapidsServiceProvider::class,
添加到 Laravel 的 app.php 配置文件中。
使用方法
<?php $data_grid = new DataGrid(Post::query()); $data_grid->add('id', 'id'); $data_grid->add('title', 'Name'); $data_grid->setActions('/post/edit', 'modify|delete'); $grid = Widget::load($data_grid); return view('grid', compact('grid'));
在视图中
{!! $grid !!}
这将生成一个简单的数据网格,带有修改/删除选项。
加载任何小部件
记住,要加载任何小部件,您需要执行 $widget_render = Widget::load($widget);
并返回该小部件的渲染结果。您只需要将 {!! $widget !!}
作为原始格式传递给 blade。
元素
为了简化该工具的易用性,我们为您创建了一些小部件。只需在任何位置使用它们即可。
数据网格
数据网格是计算机开发的桥梁。您将需要它在所有事情上。让我们看看 Rapids 带来的选项。
启动
$data_grid = new DataGrid(Post::query());
在 Eloquent 模型查询中开始您的数据网格
向表中添加新字段
$data_grid->add('title', '标题');
当您需要添加新字段时。
如果您需要该字段显示 orderBy 按钮,将第三个可选参数设置为 true。
操作(编辑/显示/删除)
$data_grid->setActions('/post/edit', 'modify|delete');
这将在您的数据网格中添加操作按钮。可用选项是 "modify", "delete", "show"。
值转换
想象一下常见的案例,当价格值超过 50 时将其标记为黄色。
$grid_widget->add('title', 'Title')->transform('price', 'Pricing', function($value){ $result = $value; if($value > 50){ $result = '<span style="background-color: yellow;">'.$value.'</span>'; } return $result; });
您显然可以创建自己的小部件,而不是将原始 HTML 添加到 PHP 代码中。只需将任何渲染的字符串作为回调的结果传递即可。
行转换
有时您需要将一些类设置为整个行。使用此类型的转换来完成此操作。
关系
显然您将需要向表中添加一些关系。实现此目的的最佳方式是使用转换。例如
$grid_widget->addTransformation('categories', 'Categories', function($value){ return $value->implode('name', ', '); });
setActions
数据表单
public function create() { $data_form = new DataForm(new Book(), '/admin/book'); $data_form->add('title', 'Book title'); $data_form->add('categories.name', 'Categories', Cell::TYPE_CHECKBOXGROUP); $create = Widget::load($data_form); return view('admin/book/create', compact('create')); }
public function store() { $data_form = new DataForm(new Book(), '/admin/book'); $data_form->setRequest($request); $data_form->request('title'); $data_form->request('token'); return $data_form->operate(); }
想法
这个想法来自其他人的库,这些库非常好。并且需要有一个良好的代码库来处理。