jeroen-g/guestpass

Laravel 的类似Flickr的访客通行证系统。

v1.0 2017-08-16 14:01 UTC

This package is auto-updated.

Last update: 2024-08-25 06:56:37 UTC


README

Latest Version on Packagist Build Status Quality Score

安装

通过Composer

$ composer require jeroen-g/guestpass

如果你运行Laravel 5.5,服务提供者和外观将会自动发现。如果不是,那么请手动添加它们。

JeroenG\GuestPass\GuestPassServiceProvider::class,
// ...
'GuestPass' => JeroenG\GuestPass\GuestPassFacade::class,

使用方法

要使用访客通行证,你需要两个模型:一个是授予访客访问权限的所有者模型(通常是用户)和另一个是要授予访问权限的对象。以下示例中使用照片作为对象。

创建新的访客通行证

需要所有者和对象模型。

GuestPass::create($user, $photo);

如果成功则返回true,否则返回false。

检索访客通行证数据

访客通行证包含以下数据: owner_modelowner_idobject_modelobject_idkey(唯一);view(可为空)。

获取所有者的所有密钥

需要所有者模型。

GuestPass::getKeysOf($user);

返回所有访客通行证密钥及其对应数据的集合。

查找对应所有者和对象的访客通行证

需要所有者和对象模型。

GuestPass::findGuestPass($user, $photo);

返回Eloquent模型(或抛出异常)。

通过密钥获取一个特定的访客通行证

需要密钥(字符串)。

GuestPass::getGuestPass($key);

返回Eloquent模型(或抛出异常)。

检查所有权

需要所有者和访客通行证模型。

GuestPass::isOwner($user, $guestpass);

返回true或false。

访问控制器

该包附带一个控制器,用于检查/gp/{owner id}/{key}路由,如果有效则返回视图(否则返回404)。每个视图都会传递对象和访客通行证模型。视图将在resources/views/guests/目录中查找。

自定义视图

在创建访客通行证时,可以将自定义视图作为第三个参数传递

GuestPass::create($user, $photo, 'album');

在这种情况下,访问控制器将不会使用默认的photo.blade.php,而是使用album.blade.php,但目录保持不变,并且不需要添加文件扩展名。

变更日志

请参阅changelog.md以了解最近的变化。

贡献

请参阅contributing.md以获取详细信息。

鸣谢

许可

欧盟公共许可证。请参阅license.md以获取更多信息。