kilobyteno / laravel-user-guest-like
一个允许访客和用户点赞模型的Laravel包
1.2.0
2023-05-28 21:53 UTC
Requires
- php: ^8.0
- illuminate/contracts: ^8.0|^9.0|^10.0
- spatie/laravel-package-tools: ^1.15.0
Requires (Dev)
- nunomaduro/collision: ^5.10|^6.0|^7.0
- orchestra/testbench: ^6.22|^7.0|^8.0
- pestphp/pest: ^1.23
- pestphp/pest-plugin-laravel: ^1.3
- phpunit/phpunit: ^9.5
- spatie/laravel-ray: ^1.32
README
一个允许访客和用户点赞模型的Laravel包。
安装
您可以通过composer安装此包
composer require kilobyteno/laravel-user-guest-like
发布包
php artisan vendor:publish --provider="Kilobyteno\LaravelUserGuestLike\LaravelUserGuestLikeServiceProvider"
或者您可以选择手动发布
php artisan vendor:publish --tag="user-guest-like-config" php artisan vendor:publish --tag="user-guest-like-migrations" php artisan migrate
将要发布到config/user-guest-like.php
的配置文件内容
return [ // Let guests like a model 'guest_like_enabled' => true, // Save IP and user agent to database 'user_tracking_enabled' => false, ];
使用方法
将HasUserGuestLike
特性添加到模型中
use Kilobyteno\LaravelUserGuestLike\Traits\HasUserGuestLike; use Illuminate\Database\Eloquent\Model; class EloquentModel extends Model { use HasUserGuestLike; }
以用户(或访客)的身份点赞模型
$user = auth()->check() ? auth()->user() : null; // Passing the user as null will like as a guest (if enabled) $model->like($user);
以用户(或访客)的身份取消点赞模型
$user = auth()->check() ? auth()->user() : null; // Passing the user as null will like as a guest (if enabled) $model->dislike($user);
检查用户是否点赞了模型(或访客是否点赞了模型)
$user = auth()->check() ? auth()->user() : null; // Passing the user as null will check if the guest (if enabled) has liked the model if($model->hasLiked($user)) { // User has liked the model }
显示模型的点赞数
$model->likes()->count();
测试
composer test
变更日志
请查看变更日志以获取最近更改的更多信息。
贡献
请查看贡献指南以获取详细信息。
安全漏洞
请审查我们的安全策略以了解如何报告安全漏洞。
鸣谢
许可协议
MIT许可协议(MIT)。请查看许可文件以获取更多信息。