netis / yii2-crud
提供AR模型默认CRUD功能的Yii2扩展。
Requires
- cogpowered/finediff: 0.3.*
- kartik-v/yii2-widget-datetimepicker: 1.4.*
- maddoger/yii2-select2: 1.4.*
- mpdf/mpdf: 6.0.*
- netis/yii2-relauth: 1.0.*
- nineinchnick/yii2-audit: 1.0.*
- omnilight/yii2-bootstrap-datepicker: 1.0.*
- phpoffice/phpexcel: 1.8.*
- yiisoft/yii2: >=2.0.4
- yiisoft/yii2-bootstrap: >=2.0.4
- yiisoft/yii2-gii: >=2.0.4
- yiisoft/yii2-jui: ~2.0.0
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类还引入了两个新事件,beforeFilter和afterFilter。
关系
由于CRUD渲染所有模型关系,它们需要在模型中进行列举。这通过新的relations()
方法完成。
通过使用netis\crud\db\LinkableBehavior
行为保存关系。
关系也用于授权。基础AR类附加了netis\rbac\AuthorizerBehavior
。
标签
由于基础AR类实现了__toString()
方法,模型可以被转换为字符串。通过附加netis\crud\db\LabelsBehavior
行为,可以选择用于生成特定模型字符串表示的属性。行为还允许为模型及其关系定义通用标签。
属性格式
格式化器可以在attributeFormats()
方法中分配给模型属性。默认值基于数据库列类型检测。
ActiveController
响应格式
默认响应格式是HTML。其他支持的格式包括JSON和XML。
当操作返回大量集合时,使用流式传输输出数据。这较慢,但允许发送极大的响应并在同一时间渲染和输出数据。因此,不需要分页来导出数据库表的全部内容。
可以轻松添加新格式,但需要提供渲染器流和响应格式器类。
默认视图
为HTML响应格式提供默认视图。它们支持与主题相同的覆盖方式。
表单生成器
更新操作的表单字段基于模型属性、关系及其格式自动生成。
关系
视图和更新操作以单个值(hasOne)或网格(hasMany)的形式显示所有模型关系。在更新操作中,对于关系类型,可以关联新或现有记录到正在更新的模型。
导航
提供上下文菜单。
复合键
完全支持主键和外键复合键(由两个或多个列组成)。