kwaadpepper / crud-policies
简化CRUD操作,简化策略,让每个人都很满意
5.0.2
2022-11-03 16:04 UTC
Requires
- doctrine/dbal: ^3.1
- facade/flare-client-php: ^1.8
- illuminate/support: ~8
- kwaadpepper/enum: ^2.0
- laravel/framework: ~8
- mews/purifier: ^3.3
Requires (Dev)
- orchestra/testbench: ^6.13
- phpunit/phpunit: ~9.0
- slevomat/coding-standard: ^7.0
- squizlabs/php_codesniffer: ^3.5
This package is auto-updated.
Last update: 2024-09-30 01:37:58 UTC
README
安装
composer require kwaadpepper/crud-policies
CSP
如果您希望使此包符合CSP,您应将 $nonce
变量共享到所有视图中。请注意,ckeditor无论如何都需要 unsafe-inline 样式。
使用方法
- 创建一个模型,该模型将使用
Kwaadpepper\CrudPolicies\IsCrudModel
特性 - 创建一个控制器,该控制器将使用
Kwaadpepper\CrudPolicies\CrudController
特性 - 创建一个策略,该策略将扩展
Kwaadpepper\CrudPolicies\Policies\RootPolicy
类
创建一个模型(IsCrudModel)
- 使用
php artisan make:crudModel ModelName
- 手动完成
如果您选择手动完成,请将文件 examples/CrudModel.php 作为示例。
一些信息
- 模型必须使用
IsCrudModel
特性 - 模型字段的规则必须在构造函数中 设置,如提供的示例($editableProperties 属性)
- 每个 CrudType 枚举都按特定方式处理,更多文档即将到来,或者如果您愿意编写它,也欢迎您这样做
- 请求验证 是从模型为 create 和 update 动作构建的
- 您的模型必须设置
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 而不是使用问题跟踪器来联系。
鸣谢
许可证
麻省理工学院。请参阅许可文件获取更多信息。