jeroen-g / guestpass
Laravel 的类似 Flickr 的访客通行证系统。
Requires
- php: ~5.6|~7.0
- illuminate/database: 5.1.20 - 5.4
- illuminate/support: 5.1 - 5.4
Requires (Dev)
- phpunit/phpunit: ~5.0|~6.0
This package is auto-updated.
Last update: 2024-08-25 06:56:37 UTC
README
安装
通过 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_model
,owner_id
;object_model
,object_id
;key
(唯一);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 了解更多信息。