Write the Code. Change the World.

11月 22

打开一次网址,访问次数就加一次。如果同一操作端连续打开,就不应该计算进去的。这就涉及到一个鉴别。已经有第三方包处理这种场景了,我们安装使用它就好了。

github: https://github.com/awssat/laravel-visits

doc: https://awssat.com/opensource/laravel-visits/3_installation.html#configurations

操作一波

composer require awssat/laravel-visits

php artisan vendor:publish --provider="Awssat\Visits\VisitsServiceProvider" --tag=config

安装 laravel-visits 包,并生成配置文件。这里我们使用 redis 来作为数据处理工具。在 config/database.php 中添加配置:

'laravel-visits' => [
    'host' => env('REDIS_HOST', '127.0.0.1'),
    'password' => env('REDIS_PASSWORD', null),
    'port' => env('REDIS_PORT', 6379),
    'database' => 3, // anything from 1 to 15, except 0 (or what is set in default)
],

配置好了之后,我们就可以开始使用了。一种方式是直接使用。

visits($model,'tag1')->increment()

但是,也可以在 model 中注册 visits 方法如下。

# 在想使用的 model 中加入下边的方法

    public function visits()
    {
        return visits($this);
    }

# 然后在使用的的地方使用模型实力的visists 方法搞定。

$model->visits()->increment();

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注