vgalkin-dev/yii2-crud

安装次数: 5,392

依赖关系: 0

建议者: 0

安全性: 0

星标: 0

关注者: 0

分支: 1

类型:yii2-extension

0.1.0 2023-08-26 00:09 UTC

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 类还引入了两个新事件,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)的形式显示所有模型关系。在更新操作中,对于两种关系类型,都可以将新或现有记录与正在更新的模型相关联。

导航

有上下文菜单。

复合键

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