seyamms/laravel-visit

Laravel package for counting model visits

v1.0.1 2024-05-13 18:07 UTC

This package is auto-updated.

Last update: 2024-11-13 21:37:49 UTC


README

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

This package is intended to count visits of model records with some sort of uniqueness factors (see the config file).

Installation

You can install the package via composer:

composer require seyamms/laravel-visit

You can publish and run the migrations with:

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

You can publish the config file with:

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

After publishing the config you will have visit.php in your config directory the contains these options:

/**
 * available factors are:
 * ['ip_address', 'platform', 'device', 'browser', 'language']
 * default: ['ip_address', 'platform']
 */
'factors' => [
    'ip_address',
    'platform',
    // 'device',
    // 'browser',
    // 'language',
],


// this accepts a valid carbon interval. 
// 1 day, 2 days, 1 week, 2 months ...etc
// default: 1 day 
'span' => '1 day',

Usage

just add Visitable trait to your model

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;
use SeyamMs\LaravelVisit\Traits\Visitable;

class Page extends Model
{
    use Visitable;

then you will have access to vzt() on each record that you can use to get the total visits count to that model or increment the counter upon page loading.

$page->vzt()->increment();
$page->vzt()->count()

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

The MIT License (MIT). Please see License File for more information.