PHP code example of combindma / laravel-trail

1. Go to this page and download the library: Download combindma/laravel-trail library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

combindma / laravel-trail example snippets


return [
     /*
     * The prefix key under which data is saved to the cookies.
     */
    'prefix' => env('TAIL_COOKIE_PREFIX', config('app.name', 'laravel')).'_',

    /*
     * The cookie duration in seconds used to store data. By default, we use 180 days.
     */
    'cookie_duration' => env('TAIL_COOKIE_DURATION', 60 * 24 * 180),

    /*
     * Enable or disable script rendering. Useful for local development.
     */
    'enabled' => env('TAIL_ENABLED', false),
];

// app/Http/Kernel.php
protected $middleware = [
    ...
    \Illuminate\Session\Middleware\StartSession::class,
    \Combindma\Trail\Middleware\TrailSetupMiddleware::class,
    ...
];

    public function index(Request $request)
    {
        \Combindma\Trail\Facades\Trail::setUtmCookies($request);
        
        //...
    }

   Route::group([ 'middleware' => ['web', \Combindma\Trail\Middleware\HandleUtmTagsMiddleware::class]], function () {
            Route::get('/test-trail', function (Request $request) {
                //...
            });
        });  //...
    }

    public function index(Request $request)
    {
        \Combindma\Trail\Facades\Trail::setReferrerCookies($request);
        
        //...
    }

   Route::group([ 'middleware' => ['web', \Combindma\Trail\Middleware\CaptureReferrerMiddleware::class]], function () {
            Route::get('/test-trail', function (Request $request) {
                //...
            });
        });  //...
    }

    public function index(Request $request)
    {
        \Combindma\Trail\Facades\Trail::setUserCookie($request);
        
        //...
    }

   Route::group([ 'middleware' => ['web', \Combindma\Trail\Middleware\CaptureUserMiddleware::class]], function () {
            Route::get('/test-trail', function (Request $request) {
                //...
            });
        });  //...
    }

   \Combindma\Trail\Facades\Trail::identify($userId);//User id can be an email if you don't offer a sign-up in your website
   \Combindma\Trail\Facades\Trail::identify($userId, '[email protected]', 'full name'); //you may also save an email with a name

   \Combindma\Trail\Facades\Trail::data($request);
   \Combindma\Trail\Facades\Trail::data(); //Behind the scene uses request() helper

    readonly class TrailDto
    {
        public function __construct(
            public string $anonymousId,
            public ?string $userId,
            public ?string $email,
            public ?string $name,
            public ?string $landingPage,
            public ?string $exitPage,
            public ?string $lastActivity,
            public ?string $ipAddress,
            public ?string $language,
            public ?string $userAgent,
            public ?string $referrer,
            public ?string $referrerCode,
            public ?string $utmSource,
            public ?string $utmMedium,
            public ?string $utmCampaign,
            public ?string $utmTerm,
            public ?string $utmContent,
    ) {
    }
}

   \Combindma\Trail\Facades\Trail::disable(); //Disable in the fly
   \Combindma\Trail\Facades\Trail::enable(); //Enable in the fly
   \Combindma\Trail\Facades\Trail::getAnonymousId(); //Get anonymous id
bash
php artisan vendor:publish --tag="laravel-trail-config"