sectheater/laravel-jarvis

与我一起实现你的抱负

v2.1.4 2018-07-24 09:24 UTC

This package is auto-updated.

Last update: 2024-09-10 13:05:51 UTC


README

StyleCI

SensioLabsInsight

Latest Version on Packagist

由 SecTheater Foundation 制作,爱意满满: http://www.sectheater.org

包文档: http://www.sectheater.org/documentation

Jarvis 快速参考表即将推出

Jarvis 提供以下功能

1. 认证系统

登录、注册、密码重置提醒、安全问题和激活。

2. 评论系统 & 回复系统

3. 喜欢与不喜欢系统

您可以为评论、回复和帖子等任何内容进行喜欢或不喜欢。您还可以重置喜欢,这样用户的喜欢或不喜欢就会被移除。

4. 升级和降级用户

5. 审批任何内容

您只需提供要批准的模型和记录的ID即可批准任何内容。

6. 标签

将标签分配给应用程序中的任何内容

您可以在一个文本输入框中分配一个或多个标签,并可以动态设置分隔符。

7. 授权用户与管理角色。

安装步骤

1. 需求包

创建新的 Laravel 应用程序后,您可以使用以下命令包含 Jarvis 包:

composer require sectheater/laravel-jarvis:dev-master

2. 添加数据库凭证 & APP_URL

接下来,请确保创建一个新的数据库,并将数据库凭证添加到您的 .env 文件中。

DB_HOST=localhost
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret

您还希望在 .env 文件中的 APP_URL 变量内更新您的网站 URL。

APP_URL=https://:8000

3. 准备好您的环境。

只需运行以下命令。

	php artisan sectheater:install
命令解释

1- 它通过注册您在调查中确认的内容来设置您的配置文件,如果使用 一切 选项,则将使用默认配置。如果您想要更改任何内容,请转到 config/jarvis.php 并设置所需的内容。2- 它将提供一个调查,以便包设置必须启用的功能。3- 它还设置认证路由。

Jarvis 完全不依赖模型,所有内容都通过存储库运行,以提供最佳质量。 安装预览

4. 示例用法

4.1 注册用户

每次尝试注册用户时,只需向 Jarvis 提供数据以及要分配给此用户的角色slug即可。如果希望激活此用户,请传递第三个参数。

	Jarvis::registerWithRole($data,'user',true)

4.2 登录用户

登录用户也是一个简单的事情,只需传递用户尝试使用的数据,可以是用户名/电子邮件和密码或任何内容。然后,如果想要记住用户,请将第二个参数传递为 true。

	Jarvis::login($data,true) // jarvis()->login($data,true);

4.3 检查角色。

假设我想检查当前登录用户是否有创建帖子的权限。值得注意的是,每次您传递多个要检查的元素,并且用户具有其中任何一个时,该方法将返回布尔值。

	Jarvis::User()->hasAnyRole(['create-post']) 

我们在这里检查用户是否在用户/管理员权限下有创建权限。

	Jarvis::User()->hasAnyRole(['create-tag','moderator.create-tag']) 
/*
first permission determines what the role the user has and then check if he has this permission ,
second one checks if the user has moderator.create-tag and this should exist 
in users table permissions column,
as this doesn't exist in default roles table ( unless you add it )
*/

有时候,你可能想检查特定用户是否拥有所有角色,而不仅仅是其中任何一个。当然,这也是包含在内的。

	Jarvis::User()->hasAllRole(['create-post','edit-post'])

如果你只想检查一个权限,你可以将这个权限作为一个数组传递给HasAnyRole,或者像以下这样做。

	Jarvis::User()->hasRole('view-post')

如果你想要检查用户是否有任何帖子权限或其他权限,你可以这样做。

  // you can use the helper also
  jarvis()->user()->hasRole('*-post');

更多详细信息请参阅文档

最近添加的功能

最近更改

  • 移除了Jarvis中间件。

  • 根据数据库角色自动设置策略和门。

  • 现有关系根据现有模型动态设置,通过属性或配置文件。

  • 观察者动态监视已绑定到配置文件中的模型。

  • 添加了package_version函数(检查传递给它的任何软件包的版本)

  • model_exists函数现在检查用户模型

  • jarvis_model_exists函数仅检查Jarvis的模型。

  • 为所有存储库添加了recent方法(你可以使用它根据条件和/或批准的内容检索最新的东西)

  • 更新了存储库接口

  • 更新了基本存储库,现在你可以将标识符传递给删除和更新方法以查找或更新/删除的实例。

  • 添加了make:facade命令

  • 添加了make:response命令

  • 添加了make:repository命令

  • 添加了package_path函数

  • 关系与相关模型动态同步。

  • 更新了Roles特性。

添加了额外的命令,例如

  • sectheater:register-authorization // 根据你的数据库角色注册策略和门并发布它们。
  • make:observer
  • sectheater:seed-db , 用RolesSeeder填充你的数据库并调用register-authorization(可选)

修复

  • 修复了blade中的路由。
  • 修复了Jarvis路由方法,已从web文件中移除,它将被添加到你的Route Service Provider中
  • 如果sectheater:auth运行时不存在app.blade.php,则会复制它
  • RegisterWithRole方法已修复。