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 了解更多信息。