netis/yii2-crud

提供AR模型默认CRUD功能的Yii2扩展。

安装次数: 1,341

依赖关系: 2

建议者: 0

安全性: 0

星标: 3

关注者: 3

分支: 1

开放性问题: 14

类型:yii2-extension

0.9.0 2016-01-19 12:45 UTC

This package is not auto-updated.

Last update: 2024-09-23 14:28:15 UTC


README

提供

  • 具有行为的基础ActiveRecord类
  • 用于高级搜索的基础ActiveQuery类
  • 模型生成器
  • ActiveController以及一组Action类,提供默认HTML格式的RESTful服务
  • 默认视图机制

ActiveRecord

筛选

筛选规则与验证规则分离。这允许单独进行筛选和验证。有时在筛选修改值的方式导致不能重复应用时,这是必要的。

这通过在netis\crud\db\FilterAttributeValuesTrait特质中实现。基础AR类还引入了两个新事件,beforeFilterafterFilter

关系

由于CRUD渲染所有模型关系,它们需要在模型中进行列举。这通过新的relations()方法完成。

通过使用netis\crud\db\LinkableBehavior行为保存关系。

关系也用于授权。基础AR类附加了netis\rbac\AuthorizerBehavior

标签

由于基础AR类实现了__toString()方法,模型可以被转换为字符串。通过附加netis\crud\db\LabelsBehavior行为,可以选择用于生成特定模型字符串表示的属性。行为还允许为模型及其关系定义通用标签。

属性格式

格式化器可以在attributeFormats()方法中分配给模型属性。默认值基于数据库列类型检测。

ActiveController

响应格式

默认响应格式是HTML。其他支持的格式包括JSON和XML。

当操作返回大量集合时,使用流式传输输出数据。这较慢,但允许发送极大的响应并在同一时间渲染和输出数据。因此,不需要分页来导出数据库表的全部内容。

可以轻松添加新格式,但需要提供渲染器流和响应格式器类。

默认视图

为HTML响应格式提供默认视图。它们支持与主题相同的覆盖方式。

表单生成器

更新操作的表单字段基于模型属性、关系及其格式自动生成。

关系

视图和更新操作以单个值(hasOne)或网格(hasMany)的形式显示所有模型关系。在更新操作中,对于关系类型,可以关联新或现有记录到正在更新的模型。

导航

提供上下文菜单。

复合键

完全支持主键和外键复合键(由两个或多个列组成)。