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以获取更多信息。