prezent / grid
通用数据网格和列表
0.14.1
2024-03-28 11:16 UTC
Requires
- php: ^7.0|^8.0
- ext-intl: *
- symfony/options-resolver: ^4.0|^5.0|^6.0|^7.0
- symfony/property-access: ^4.0|^5.0|^6.0|^7.0
- twig/twig: ^2.0|^3.0
Requires (Dev)
- phpunit/phpunit: ^9.5
- dev-master / 1.0.x-dev
- 0.14.1
- 0.14.0
- 0.13.0
- 0.12.3
- 0.12.2
- 0.12.1
- 0.12.0
- 0.11.x-dev
- 0.11.6
- 0.11.5
- 0.11.4
- 0.11.3
- 0.11.2
- 0.11.1
- 0.11.0
- 0.10.0
- 0.9.17
- 0.9.16
- 0.9.15
- 0.9.14
- 0.9.13
- 0.9.12
- 0.9.11
- 0.9.10
- 0.9.9
- 0.9.8
- 0.9.7
- 0.9.6
- 0.9.5
- 0.9.4
- 0.9.3
- 0.9.2
- 0.9.1
- 0.9.0
- 0.8.3
- 0.8.2
- 0.8.1
- 0.8.0
- 0.7.0
- 0.6.0
- 0.5.0
- 0.4.0
- 0.3.0
- 0.2.0
- 0.1.0
- dev-twig-update
This package is auto-updated.
Last update: 2024-08-28 12:15:58 UTC
README
一个独立于框架的库,用于在PHP中构建和渲染通用数据网格。
安装
可以使用Composer安装此扩展。告诉Composer安装此扩展
$ php composer.phar require prezent/grid
Symfony用户应使用prezent/grid-bundle。这将自动设置一切,并添加额外的功能,例如路由和翻译集成。
快速示例
如果您有任何使用Symfony表单的经验,那么这个网格库会非常熟悉。首先定义一个网格
<?php namespace My\Grids; use Prezent\Grid\BaseGridType; use Prezent\Grid\Extension\Core\Type\DateTimeType; use Prezent\Grid\Extension\Core\Type\StringType; use Prezent\Grid\GridBuilder; class MyGridType extends BaseGridType { public function buildGrid(GridBuilder $builder, array $options = []) { $builder ->addColumn('id', StringType::class, [ 'label' => 'ID', 'url' => '/view/{id}', ]) ->addColumn('name', StringType::class) ->addColumn('created', DateTimeType::class, ['pattern' => 'yyyy qqq']) ->addAction('edit', ['url' => '/edit/{id}']) ; } }
在您的控制器中创建网格并将其分配给视图
<?php namespace My\Controllers; use My\Grids\MyGridType; class MyController { public function indexAction() { $data = $this->db->findSomeData(); $grid = $this->getService('grid_factory')->createGrid(MyGridType::class); $this->view->data = $data; $this->view->grid = $grid->createView(); } }
最后,使用Twig渲染网格
{{ grid(grid, data) }}
文档
完整文档可以在doc目录中找到。