dinhdjj/visit

此包已被废弃且不再维护。未建议替换包。

跟踪指定模型访问的包

v1.1.1 2023-04-06 10:33 UTC

README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

这里应该是您的描述。请限制为一两段。考虑添加一个小示例。

安装

您可以通过 composer 安装此包

composer require dinhdjj/laravel-visit

您可以使用以下命令发布和运行迁移

php artisan vendor:publish --tag="visit-migrations"
php artisan migrate

您可以使用以下命令发布配置文件

php artisan vendor:publish --tag="visit-config"

这是已发布配置文件的内容

// config for dinhdjj/laravel-visit package
return [

    /**
     * Table name for visit logs
     */
    'table' => 'visits',

    /**
     * The model class name that will be used to store visit logs, must be a subclass of \Dinhdjj\Visit\Models\Visit
     */
    'model' => Dinhdjj\Visit\Models\Visit::class,
];

使用方法

使用 Visitable 特性

首先,您需要使用 Visitable 特性。

class Post extends Model
{
    use \Dinhdjj\Visit\Traits\Visitable;
}

之后,您可以使用以下方法与访问日志交互

    $post = Post::first();

    $post->visitLogs() // relation to visit logs

    $post->visitLogs // collection of visit logs

    $builder = $post->visitLog(User::first()) // builder visit with user as visitor

    $builder->byIp(); // prevent duplicate visit by ip
    $builder->byVisitor(); // prevent duplicate visit by visitor

    $builder->interval(60*15) // prevent duplicate visit within 15 minutes, default is 60*15

    $visit = $builder->log(); // create visit to database

使用 Visitor 特性

首先,您需要使用 Visitor 特性。

class User extends Model
{
    use \Dinhdjj\Visit\Traits\Visitor;
}

之后,您可以使用以下方法与访问日志交互

    $user = Post::first();

    $user->visits() // relation to visit logs

    $post->visits // collection of visit logs

    $builder = $post->visit(Post::first()) // builder visit to post

    // ... same as above

测试

composer test

更新日志

请查看 更新日志 了解最近更改的详细信息。

贡献

请查看 贡献指南 了解详细信息。

安全漏洞

请审查 我们的安全策略 了解如何报告安全漏洞。

致谢

许可证

MIT 许可证(MIT)。请查看 许可证文件 了解更多。