PHP code example of canerdogan / laravel-leaderboard

1. Go to this page and download the library: Download canerdogan/laravel-leaderboard 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/ */

    

canerdogan / laravel-leaderboard example snippets


'redis' => [
    'client' => env('REDIS_CLIENT', 'predis'),
    'default' => [
        'host' => env('REDIS_HOST', '127.0.0.1'),
        'password' => env('REDIS_PASSWORD', null),
        'port' => env('REDIS_PORT', 6379),
        'database' => env('REDIS_DB', 0),
    ],
],

use CanErdogan\Leaderboard\Facades\Leaderboard;

// Insert a score for a user
Leaderboard::insertScore('user123', 100, [
    'featureId' => 'game1',
    'scoreData' => [
        'level' => 5,
        'time' => 120,
        'bonus' => 20
    ]
]);

// Get the all-time leaderboard
$leaders = Leaderboard::getLeaderboard([
    'featureId' => 'game1',
    'fromRank' => 0,
    'toRank' => 9 // Top 10 players
]);

// Get a user's best score
$score = Leaderboard::getUserBestScore('user123', [
    'featureId' => 'game1'
], [
    'rawscore' => true,
    'scoreData' => true,
    'date' => true
]);

// Get a user's rank
$rank = Leaderboard::getRank('user123', [
    'featureId' => 'game1'
]);

// Get leaderboard around a specific user
$aroundMe = Leaderboard::getAroundMeLeaderboard('user123', [
    'featureId' => 'game1',
    'range' => 5 // 5 players above and below
]);

// Enable periodic leaderboards
Leaderboard::addLeaderboards([
    'daily' => true,
    'weekly' => true,
    'monthly' => true
]);

// Get the daily leaderboard
$dailyLeaders = Leaderboard::getLeaderboard([
    'leaderboard' => 'daily',
    'featureId' => 'game1',
    'fromRank' => 0,
    'toRank' => 9
]);

// Get the weekly leaderboard
$weeklyLeaders = Leaderboard::getLeaderboard([
    'leaderboard' => 'weekly',
    'featureId' => 'game1',
    'fromRank' => 0,
    'toRank' => 9
]);

// Get the monthly leaderboard
$monthlyLeaders = Leaderboard::getLeaderboard([
    'leaderboard' => 'monthly',
    'featureId' => 'game1',
    'fromRank' => 0,
    'toRank' => 9
]);

use CanErdogan\Leaderboard\RedisEndpoint;

$redisEndpoint = new RedisEndpoint();
$redisEndpoint->clearPeriodicalLeaderboard('daily');
$redisEndpoint->clearPeriodicalLeaderboard('weekly');
$redisEndpoint->clearPeriodicalLeaderboard('monthly');
bash
php artisan leaderboard:clear