hume / session-visits-bundle
This bundle tracking visits by Symfony session.
Installs: 9
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 0
Type:symfony-bundle
Requires
- php: >=8.2
- doctrine/dbal: ^3
- doctrine/doctrine-bundle: ^2.11
- doctrine/doctrine-migrations-bundle: ^3.3
- doctrine/orm: ^3.0
- symfony/framework-bundle: 7.0.*
Requires (Dev)
- phpunit/phpunit: ^9.5
- symfony/test-pack: ^1.1
This package is not auto-updated.
Last update: 2025-06-24 12:43:55 UTC
README
Hello, this bundle is my idea how visits should be counted and stored in database.
SessionVisitsBundle register visit by session and flush to database. Bundle track visits, process and store week, month, year visits in database.
Contain Components
- VisitsTracker
- VisitsFinder
- DateSystem
Warning
At this moment it's only sandbox in which I throw my new skills and ideas so I don't recommend use bundle in production.
Installation
SessionVisitsBundle require php8.2, Symfony7, Doctrine-bundle2.12 to run. Make sure Composer is installed on your machine.
You can install it via Composer:
composer require hume/session-visits-bundle:dev-main
Just in case, check this line at config/bundle.php is identical:
<?php // config/bundles.php Hume\SessionVisitsBundle\HumeSessionVisitsBundle::class => ['dev' => true, 'test' => true],
Note
set ['all' => true] for production but as I said, is not recommended.
Basic Usage
You have to just tag Controller in which you want tracking visits.
<?php // src/Controller/ExampleController.php declare(strict_types=1); namespace App\Controller; use Symfony\Component\HttpFoundation\Response; use Hume\SessionVisitsBundle\Controller\VisitsTrackableController; class ExampleController implements VisitsTrackableController { public function indexAction(): Response { return new Response('Hello world!') } }
And that's it! Your controller is listened by VisitsTracker subscriber kernel.controller.
Tip
If you want more about events listners and subscribers check this out: https://symfony.com/doc/current/event_dispatcher.html
Or constructor injection
<?php // src/Controller/ExampleController.php declare(strict_types=1); namespace App\Controller; use Symfony\Component\HttpFoundation\Response; use Hume\SessionVisitsBundle\Component\VisitsTracker\VisitsTracker; class ExampleController { public function __construct(private visitsTracker $visitsTracker) { $visitsTracker->start(); } public function indexAction(VisitsTracker $visitsTracker): Response { return new Response('Hello world!') } }
Fetching Visits from Database
Session Visits Bundle use Doctrine-Bundle for database operations. Recommended is using Repository to fetch visits objects.
Important
Check find and sum methods in Visits Repository Check visits model in Visits Entity
Repository:
use Hume\VisitsSessionBundle\Repository\VisitsRepository;
DateSystem
Caution
Section under construction.
License
MIT