kwaadpepper/crud-policies

简化CRUD操作,简化策略,让每个人都很满意

5.0.2 2022-11-03 16:04 UTC

README

Latest Version on Packagist Total Downloads

安装

composer require kwaadpepper/crud-policies

CSP

如果您希望使此包符合CSP,您应将 $nonce 变量共享到所有视图中。请注意,ckeditor无论如何都需要 unsafe-inline 样式。

使用方法

  1. 创建一个模型,该模型将使用 Kwaadpepper\CrudPolicies\IsCrudModel 特性
  2. 创建一个控制器,该控制器将使用 Kwaadpepper\CrudPolicies\CrudController 特性
  3. 创建一个策略,该策略将扩展 Kwaadpepper\CrudPolicies\Policies\RootPolicy

创建一个模型(IsCrudModel)

  • 使用 php artisan make:crudModel ModelName
  • 手动完成

如果您选择手动完成,请将文件 examples/CrudModel.php 作为示例。

一些信息

  • 模型必须使用 IsCrudModel 特性
  • 模型字段的规则必须在构造函数中 设置,如提供的示例($editableProperties 属性)
  • 每个 CrudType 枚举都按特定方式处理,更多文档即将到来,或者如果您愿意编写它,也欢迎您这样做
  • 请求验证 是从模型为 createupdate 动作构建的
  • 您的模型必须设置 protected $crudLabelColumn = '字符串列名';
  • 您的模型必须设置 protected $crudValueColumn = '唯一约束列名';

! 最后两点特别需要用于关系!

创建一个控制器(CrudController)

  • 使用 php artisan make:crudController ControllerName
  • 手动完成

如果您选择手动完成,请将文件 examples/CrudController.php 作为示例。

在控制器中有一些可用的钩子,您也可以重载方法以以自己的方式处理它们

当然,您可以编写自己的方法来处理应用程序的其余部分。

更多文档即将到来,请直接查看代码

创建一个策略(RootPolicy)

  • 使用 php artisan make:policy ModelName
  • 手动完成

如果您选择手动完成,请将文件 examples/CrudPolicy.php 作为示例。

请注意,策略规则的方法返回一个布尔值。您可以在 examples/UserRoleRules.php 中找到规则示例

注意:Artisan make 命令尚需开发

备注

  • 对于 CRUD 类型的图片,您必须执行 php artisan storage:link

变更日志

请参阅 changelog 了解最近更改的详细信息。

测试

即将推出

贡献

请参阅 contributing.md 了解详细信息和一个待办事项列表。

安全

如果您发现任何与安全相关的问题,请通过电子邮件 github@jeremydev.ovh 而不是使用问题跟踪器来联系。

鸣谢

许可证

麻省理工学院。请参阅许可文件获取更多信息。