kilobyteno/laravel-user-guest-like

一个允许访客和用户点赞模型的Laravel包

1.2.0 2023-05-28 21:53 UTC

This package is auto-updated.

Last update: 2024-09-08 15:44:05 UTC


README

Latest Version on Packagist Total Downloads Tests

一个允许访客和用户点赞模型的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)。请查看许可文件以获取更多信息。