vgalkin-dev / yii2-crud
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.*
- omnilight/yii2-bootstrap-datepicker: 1.0.*
- phpoffice/phpexcel: 1.8.*
- vgalkin-dev/yii2-audit: *
- 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-22 03:57:26 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)的形式显示所有模型关系。在更新操作中,对于两种关系类型,都可以将新或现有记录与正在更新的模型相关联。
导航
有上下文菜单。
复合键
完全支持主键和外键的复合键(由两个或更多列组成)。