Sup*_*key 7 naming-conventions user-permissions laravel laravel-5 laravel-permission
在命名权限方面,我应该遵循一些命名准则吗?现在,我找到的所有内容都类似于“添加 Foo”、“编辑 Foo”、“删除 Foo”、“添加 FooBar”、“编辑 FooBar”、“删除 FooBar”等等。
请记住,没有分组(这真是遗憾),并且当您有所有上述权限的管理屏幕时 - 上述方法似乎相当草率。
您所有的“添加”都在一起,“编辑”都在一起,等等,例如:
- Add Foo
- Add FooBar
- Add FooBarBez
- Edit Foo
- Edit FooBar
- Edit FooBarBez
- Delete Foo
- Delete FooBar
- Delete FooBarBez
Run Code Online (Sandbox Code Playgroud)
现在我倾向于类似于路线名称的东西,例如:
- foo.add
- foo.edit
- foo.delete
- foobar.add
- foobar.edit
- foobar.delete
- foobarbez.add
- foobarbez.edit
- foobarbez.delete
Run Code Online (Sandbox Code Playgroud)
它在将所有“父”权限保持在一起方面更有组织性(即:所有 Foo 在一起,所有 FooBar 在一起,等等)。当然,如果有实际的指导方针,请告诉我,或者您有其他有价值的意见/建议吗?
//为了清晰起见编辑更新
具体来说,
- __Are__ any naming conventions?
- Are there any preferences in terms of use of singular/plural when it comes to parents (eg: "User Create", "Users Create")
- If parents and action should be separated with a space, a dot, something else? (eg: "users.create"; "users create"; "users->create")
- What about nested resources (Parent.Child)? eg: "users.banking_details.create"
- Captilisation? Lowercase? Camel Case?
Run Code Online (Sandbox Code Playgroud)
如前所述,倾向于 Laravel 命名路线作为指导原则,因此将是:复数,小写,用点分隔,包括完整路径(父+子关系)。仅仅因为这就是我的倾向,并不意味着它是正确的,因此我要求社区提供意见:)
有命名约定吗?
从来没听说过。正如您所指出的,这些示例使用“创建帖子”等,这是一种可怕的处理方式。
父母在使用单数/复数方面是否有任何偏好(例如:“用户创建”、“用户创建”)
这实际上取决于您的使用情况。这是针对不同情况使用单数和复数的示例。
返回单个用户的路由可以受 保护user.read,返回多个用户的路由可以受 保护users.read。我相信做到这一点的最佳方法是使用对您和/或您的团队有意义的方法。
父母和行动是否应该用空格、点或其他东西分开?(例如:“user.create”;“用户创建”;“用户->创建”)
点是首选方法,特别是当您要使用通配符时。
嵌套资源(Parent.Child)怎么样?例如:“users.banking_details.create”
完全可以使用,但是,在涉及通配符权限时要小心。通配符权限将授予使用所有子权限的权限。
如果您授予某人权限users或users.*给予相同的待遇,他们将能够执行此父项下的所有权限。
资本化?小写?骆驼香烟盒?
选择一致的风格并坚持下去。
我个人使用 Web 操作 (CRUD) 常用的命名约定。
task.create
task.read
task.update
task.delete
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2861 次 |
| 最近记录: |